構文
構文は以下の通りです。
{
let 変数名 = 初期値;
// ブロック内でのみ使用できる変数
}
console.log(変数名); // エラーになります
let 変数名 = 初期値;
// ブロック内でのみ使用できる変数
}
console.log(変数名); // エラーになります
解説
ブロックスコープとは、変数が宣言されたブロック(中括弧 {} で囲まれた部分)内でのみその変数が有効であることを意味します。Google Apps Scriptでは、letを使って変数を宣言すると、その変数はそのブロック内でのみ使えます。これは、変数のスコープ(有効範囲)を制限し、プログラム内の他の部分で誤ってその変数を使ってしまうことを防ぎます。
プログラミング例
具体的なプログラミング例を紹介します。
function ブロックスコープの例() {
let 数字 = 10;
if (数字 > 5) {
let メッセージ = "数字は5より大きいです";
console.log(メッセージ); // "数字は5より大きいです" と表示されます
}
console.log(メッセージ); // エラーになります: メッセージは定義されていません
}
let 数字 = 10;
if (数字 > 5) {
let メッセージ = "数字は5より大きいです";
console.log(メッセージ); // "数字は5より大きいです" と表示されます
}
console.log(メッセージ); // エラーになります: メッセージは定義されていません
}
上記のプログラムは、if文のブロック内でメッセージという変数が宣言されています。しかし、そのブロックの外からメッセージにアクセスしようとするとエラーが発生します。これは、メッセージがブロックスコープ内でのみ有効だからです。
まとめ
ブロックスコープは、プログラム内で変数の有効範囲を制御する重要な概念です。letで宣言された変数は、その変数が宣言されたブロック内でのみ使用可能であり、ブロックの外からアクセスするとエラーになります。これにより、プログラムの予期しない動作を防ぐことができ、コードの安全性が高まります。