変数のスコープ
JavaScript基礎文法:処理を組み立てる / 全 5 枚
JavaScript基礎文法:処理を組み立てる - 変数のスコープ
関数の中で作った変数は外から見えない
変数には、その名前が通じる範囲があります。これをスコープと呼びます。関数の中で let や const を使って作った変数は、その関数の中だけで通じる名前になり、関数の外からは見えません。
見えるのはどの向きなのかを、次の図解で 4 通り全部試します。図解は Python の書き方でエラー名も NameError と出ますが、見え方の仕組みは JavaScript とまったく同じです。
最後の行だけが落ちます。mark は buildGreeting の中だけの名前だからです。
function buildGreeting(name) {
const mark = "さん";
return "こんにちは、" + name + mark;
}
console.log(buildGreeting("田中")); // "こんにちは、田中さん"
console.log(mark); // ReferenceError 外からは mark という名前が見えない1 / 5
← → キーでも送れます