/ const はブロックスコープ if (true) { var x = 1; }; console.log(x); //=> "1" if (true) { let x = 1; }; console.log(x); //=> Uncaught ReferenceError: x is not defined
は変数が宣言されるが初期化されない ※ 実際には変数宣言は使う前に書くべきなので、あまり意識することはないが if (true) { console.log(x); var x = 1; //=> undefined } if (true) { console.log(x) //=> Uncaught ReferenceError: Cannot access "x" before initialization let x = 1; }
function calcDouble(a) { return a * 2; } console.log(calcDouble(5)); //=> Uncaught ReferenceError: calcDouble is not defined const calcDouble = function(a) => { return a * 2; };