変数宣言は基本的にconstを使おう【let, varとの違い】 | GASおじさんのブログ
GASの基本

変数宣言は基本的にconstを使おう【let, varとの違い】

変数宣言はconstを使おう GASの基本

みなさんこんにちは!GASおじさんです。

この記事ではGAS(JavaScript)における変数宣言について簡潔にまとめます。

また、当ブログの過去記事でletを多用してしまっていることについての反省の意を述べております。

簡潔に結論

  • 変数宣言は基本的にconstを使いましょう
  • 再代入が必要な時にletを使いましょう
  • varは使わないようにしましょう

簡潔にconst, let, varの違い

変数宣言再代入再宣言用途語源
const不可不可再代入しない変数。
基本的に変数宣言はこれを使う。
constant:「定数」
let不可再代入が必要な変数。
カウンターやメッセージを生成するときに使う。
let:「許す」「させる」「~と定義する」
※歴史的なプログラミング文法に由来
var旧仕様。使用非推奨。variable:「変数」

その他の詳しい違いについては他のブログやChatGPTに解説を譲ります。

個人的letを使う場面

上記の通り変数の再代入が必要な時のみletを使うようにします。

しかし、再代入が必要な場面というのは結構限られてくるので、ほとんどconstを使うことになります。

「じゃあ再代入が必要な時ってどんなときよ?」

という疑問にお答えすべく、個人的にこういうときにletを使うことが多いです、という場面をあげてみます。

// for文でインクリメントするとき
for(let i = 0; i < 10; i++){
  console.log(i);
}
// for文で合計金額を求めたい時とか
let totalCost = 0;
for(const cost of costs){
  totalCost += cost;
}
// テキストメッセージやHTMLのメッセージを生成するとき
let html = '<h1>お知らせ</h1>';
if (isPositive()) {
  html += '<p>今後はちゃんとconstを推奨していきます。</p>';
} else {
  html += '<p>letを多用していたことを悔やんでいます。</p>';
}

当ブログの過去記事におけるletの使用について

当ブログの過去の記事では、letを多用している時期があります(具体的には2022年11月〜2023年3月までの記事です)。

執筆当時は筆者も未熟でありまして(今でもまだまだ未熟者ですが)、

「letとconstは好きな方を使えばいい」
「letのほうが3文字で書きやすいし基本letでいいっしょ!」
「constはグローバル定数の時使おう。文字通り”定数”だし」

という自分独自の運用ルールでコーディングしておりました。

しかし、プログラミングを人に教える立場として、やはりそのようなテキトーな姿勢は許されないなと途中から考えを改めるようになりました。

JavaScriptのベストプラクティスとして「再代入しない場合はconstを使用」がほぼ標準となっていますので、この標準に則って、当ブログでも基本はconstを使うように推奨していきたいと思います。

letを使っている過去記事をすべて修正しようと思いましたが、画像データや解説動画の修正が難しく、記事を修正してしまうと、記事と動画との間に食い違いが発生し、初心者読者を混乱させてしまいそうなので、あえてそのままにしておきます。代わりにこの記事をletを使ってしまっている各記事の冒頭に貼り付けておくことで免罪符とさせていただきます。const教の皆様、ご容赦ください。

参考記事

4歳娘「パパ、constしか使わないで?」 - Qiita
休日ワイワイ「(カタカタカタカタカタ・・・)」ワイ「(ッターーーーン!!!)」ワイ「あっ、ぜんぶ消えてもうた」娘(4歳)「パパ?」娘「私のお願いしたシステム、作ってくれた?」娘「曜日によ…
JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita
はじめに本記事では、constこそが唯一神であることを証明したあと、letを使いがちな場面でいかにしてconstを使うかをまとめていきます。なお、ES2018までの基本構文(reduce, asy…

コメント

タイトルとURLをコピーしました