var, let, constとは
var, let, constは次の例のようにいずれもJavaScriptで変数を宣言する際に使うキーワードですが、これらをどのように使い分けたら良いのか。そのポイントをまとめます。
var fruit = 'apple';
let fruit = 'apple';
const fruit = 'apple';
letとconstは新しい記法
varは昔から変数の宣言に使われていたキーワードで、letとconstは現在(執筆当時2021年)のJavaScriptの標準仕様であるECMAScript2015で新たに導入されたキーワードです。
var, let, constの違い
これらのキーワードの機能的な違いは「再代入、再宣言、スコープの範囲」にあります。それを次の表にまとめました。
再代入 | 再宣言 | スコープの範囲 | |
---|---|---|---|
var | ○ | ○ | 同一関数内 |
let | ○ | × | ブロック内 |
const | × | × | ブロック内 |
再宣言だけでなく、再代入も許されないconstはその名の通り、定数(constant)を扱うためのキーワードです。この表から分かるように変数の中身を適切に管理する観点から、現在varを使うことは推奨されていないようです。
GASでV8ランタイムがサポート
現在のGASではJavaScript開発エンジンであるV8ランタイムがサポートされ、それに伴い最新のECMAScriptが使えるようになりました。
そのためGASでの開発も、定数のように再代入の可能性のない変数の宣言にはconstを使い、そうでない変数の宣言にはletを使えば十分だと言えそうです。