新規投稿
フォローする

ES6機能紹介: let宣言, const宣言

このナレッジノートでは、先日投稿した記事に引き続いて、kintoneのカスタマイズ開発に役立つモダンなJavaScript仕様ECMAScript 6の機能に一部について解説します。ここではlet,const宣言について解説します。

let宣言

let宣言はブロックスコープを作る変数宣言です。

let a = 1;

とすると、同じブロック内では再宣言ができず、別のブロックからは参照できなくなります。

var i = 100;
if(i > 10) {
  let b = i + 10; 
  console.log(b); // output: 110
}

console.log(b); // output: undefined

const宣言

const宣言は宣言した変数を再代入不可にします。定数を定義するときに用いると良いですね。

こちらもブロックスコープを作り、同じブロック内では再宣言が出来ず、別ブロックからの参照は出来ません。

const a = 10;

a = 20; // TypeError

各宣言の特徴

今までのvar宣言では、変数のスコープは宣言された関数内となり、関数あるいはグローバルの一番上に宣言が巻き上げられます。
よって以下のような記述が可能です。

console.log(a); // output: 1

var a = 1;

一方let及びconstでは、宣言文より前で変数にアクセスした場合、エラーとなります。

console.log(a); // Error

let a = 1; // constでも同様

また、let及びconst宣言では同一ブロックからの再宣言が出来ないため、同じ名前の変数を別の意味合いで再宣言してしまうなどミスを避けられて非常に便利です。
ES6以降の記法が使える環境では特殊な理由がなければvarを使わず、letを使うことをおすすめします。

2

0件のコメント

サインインしてコメントを残してください。