javascript verとletの単純比較表

javascript
スポンサーリンク

再宣言 再代入 スコープ
var o o 関数スコープ
let x o ブロックスコープ

ブロックスコープとは

<script>
function hoge(){
if(true){
var var_str = 'this is var';
let let_str = 'this is let';
}
console.log(var_str); // this is var
console.log(let_str); // Uncaught ReferenceError: let_str is not defined
}
hoge();
</script>

varで宣言した変数は同じ関数内で生き続けるが、

letで宣言した変数は同じ関数内だろうと、ブロックの中でしか生きれない。

コメント