スコープ

by yshrkn

JavaScript

/**
 * a, b, c にてログ出力される "name" はどうなるか確認した上で、
 * 「スコープ」、「ローカル変数」、「グローバル変数」とは何かを説明してください。
 * 
 * ★解答
 * ◆スコープ
 * 変数を参照できる範囲、
 * 
 * ◆ローカル変数
 * 宣言された関数内でのみ参照できるスコープを持つ変数。
 * 宣言時にvarが必要。
 * 
 * ◆グローバル変数
 * どこからでも参照することができるスコープを持つ変数。
 * 宣言時にvarを省略した場合、グローバルスコープを持つ。
 */

var name = "Scott";

function setName(newName) {
 var name = newName;
 console.log("b", name); // b
}

console.log("a", name); // a
setName("Rivers");
console.log("c", name);  // c