変数および定数の宣言(let/const)[ES2015(ES6)]

2017年1月8日

ES2015(ES6)から、変数の宣言として「let」命令、また定数の宣言として「const」命令が利用できます。

 

関連ページ

変数の宣言(var)

 

スポンサーリンク

 

 

letによる変数の宣言の記述方法は、varと同様になります。

 

let 変数名;

 

varとletによる変数宣言の違いは、以下のようになります。

 

1 letは変数の再定義ができない。
2 letはブロックスコープが有効になる。

 

 

1 letは変数の再定義ができない。


 

varによって変数を宣言した場合は、下記のコードのようにname変数は再定義することが可能で、4行目の出力は次郎になります。

 

一方、letによって変数が宣言された場合、同じ変数名を再定義することはできません。

 

 

2 letはブロックスコープが有効になる。


 

varによって宣言された変数のスコープは、関数内で有効となるローカル変数でしたが、letによって宣言された変数は、{ } で囲まれるブロックスコープにおいても有効となります。

 

関連ページ

変数のスコープについて[ローカル変数][グローバル変数]

 

例えば、下記のようにvarで宣言された変数は {}によるブロックスコープは有効になりません。すなわち5行目において3と出力されます。

 

一方、letによって宣言された変数は、ブロックスコープが有効となるので5行目においてエラーとなります。

 

 

const命令による定数の宣言


 

const命令によって定数を定義することができます。

 

const 定数名;

 

constによって宣言された定数も、let命令と同様に、ブロックスコープが有効となります。また再定義することができません。そして、let命令と違い、再代入をすることができなくなります。

 

再定義できません。

 

let命令と違い、再代入もできません。

 

※letによって宣言された変数は、再代入することは可能です。

 

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー