ECMA Script6(JavaScript)のvarとletとconstの違い
関数スコープとブロックスコープECMA Script6(JavaScript)のvarとletとconstの違いについてです。
varは変数を定義するときに使用します。関数スコープとなります。
constは定数を定義するときに使用します。ブロックスコープとなります。
letは今までvarで記述していた箇所をletに置き換えることができます。ブロックスコープとなります。
今後はvarは使用する機会はないと思われます。
letとconstの違い
letは再代入可能なのに対し、constは定数なので再代入が不可という違いがあります。
関数スコープとブロックスコープ
関数スコープとブロックスコープについてです。
関数スコープとは、関数内ならどこからでも参照できることを意味します。以下、例です。
{ var a = 'test'; } { console.log(a); }
結果は以下のようになります。
test
ブロックスコープは、ブロック内でのみ参照できます。
if (true) { let a = "test" console.log(a) } console.log(a)
結果は以下のようになります。
test Uncaught ReferenceError: a is not defined
constの注意点
constは再代入が不可能であるが、値の変更は不可能ではないと言う点に注意です。
const arr = [1, 2, 3]; arr[0] = 3;// これは可能 arr = [];// これはエラー
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント