こんにちは、ばばーるです。
前回のおさらい
前回はsetFormulaをご紹介しました。
- setValueと同様にsetFourmulaでスプレッドシートに数式を挿入することができる
- A1表記とR1C1表記の2つの書き方がある
- 2次元配列で複数の式を挿入することができる
- 複数の式を入れる場合は配列とセルの指定範囲の数が一致しないといけない
今回は変数宣言のConst、let、varについてご紹介していこうと思います。
変数
変数というのはGoogle Apps Scriptを書く際に、文字列や数字やスプレッドシートのIDなどを入力しておく箱のようなものです。(理系の方だとy=f(x)のxやyに相当するものと考えると分かりやすいかもしれません。)
var moji = 'Hello!'; //文字列とか
let i = 0; //数字
const id ='1damoaidjaojgnreaidajo'; //スプレッドシートIDとか
この変数を設定しつつ、プログラムを作成し、正確に処理されるようにスクリプトをカキカキしていきます。
3つの変数の違い
変数を宣言するにはconst、let、varの3つの方法があります。
- constは再宣言、再代入が禁止されています。
- letは再宣言は禁止されており、再代入のみ可能です。
- varは再宣言、再代入が可能です。
理解するためには、実際にスクリプトを書いてみましょう。
function myfunction() {
const a = 1;
}
と入力した後に
function myfunction() {
const a = 1;
const a;
}
と入力して、実行してみてください。

こんな感じのエラーが出力されるはずです。
入力者とGASの間で以下のようなやりとりがあってエラーがはじき出されたという訳です。

aという変数(定数)を宣言して、1を代入しました!

かしこまりました。

aという変数(定数)を宣言します!

(えっ…マジで…このたぬき大丈夫か?)
さっき宣言したじゃないですか!
constは再宣言禁止です。
今度はaに1を代入した後に、aに2を代入するようにしてみましょう。
function myfunction() {
const a = 1;
a = 2;
}
すると、こんな感じで怒られます。

つまり、constで宣言されたaは宣言は一回で、1以外の値を代入することはできません。
ここで、もう一度const、letとvarの違いを見てみましょう。
- constは再宣言、再代入が禁止されています
- letは再宣言は禁止されており、再代入のみ可能です
- varは再宣言、再代入が可能です
constはその内容から、あまり変更がない定数の役割をしており、letは再宣言すると困る変数、varは再宣言や再代入しても困らない変数に使用すれば問題ないでしょう。
基本的なルール
3つの変数宣言の表現がありますが、基本的にはconstを優先的に使用して、その次にlet、varはほとんど使用しないことが一般的だそうです。(letはfor文などで使用することが多いでしょう。)
プログラムの可読性、また誤作動を防ぐためにも、この基本的なルールに沿って使用することをオススメします。
まとめ
今回は変数宣言のConst、let、varについてご紹介しました。
- constは再宣言、再代入が禁止されています
- letは再宣言は禁止されており、再代入のみ可能です
- varは再宣言、再代入が可能です
次回はスプレッドシートの最終行、最終列までの行数を取得する方法をご紹介します。
コメント
[…] […]
[…] […]