Let and const
let と const はブロックスコープの変数宣言です。var のホイスティングや関数スコープの問題を解消し、より安全なコードを書けます。
概要
let と const はブロックスコープの変数宣言です。var のホイスティングや関数スコープの問題を解消し、より安全なコードを書けます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 21 | 12 | 36 | 5.1 | 25 | 5 | |
| その他 | ||||||
| let 宣言は、再代入可能な、ブロックスコープのローカル変数を宣言します。任意で値を代入して初期化できます。 | 49 | 14 | 44 | 10 | 49 | 10 |
注釈 2件
実装メモ
- Firefox 13 以前では `const` が実装されているが、再代入は失敗しない。
- Firefox 46 以前では、再宣言時に `SyntaxError` ではなく `TypeError` が投げられた。
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (49)
実装メモ
- ストリクト・モードが必要。
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (14)
実装メモ
- Edge12と13では、`for`ループのイニシャライザー内の`let`は、ES2015で定義されているように、ループの繰り返しごとに個別の変数を作成しません。その代わりに、ループの直前に `let` を置くことで、ループがスコープブロックに包まれているかのように振る舞います。
注釈 3件
実装メモ
- Firefox 44 より前のバージョンでは、`let` は `<script type="application/javascript;version=1.7">` ブロック (またはそれ以上のバージョン) でラップされた HTML 内のコードブロックにのみ使用可能で、異なるセマンティクスを持っています (たとえば、一時的なデッドゾーンはありません)。
- Firefox 46 以前では、再宣言時に `SyntaxError` ではなく `TypeError` がスローされる。
- Firefox 54 はワーカーに `let` のサポートを追加した。
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (49)
実装メモ
- ストリクト・モードが必要。
基本構文
JAVASCRIPT
// let: can be reassigned
let count = 0;
count = 1; // OK
// const: cannot be reassigned
const PI = 3.14;
// PI = 3; // Error
// Object properties can be changed even with const
const user = { name: 'Taro' };
user.name = 'Hanako'; // OK ライブデモ
statetransition with let
reassignmentpossible let variable usage, timebetween. and and also to state that change variantchild inspect it..
プレビュー全画面表示
Const and not-
wordvariable is reassignment in.error that emitlivesimul-tion row.. with const
プレビュー全画面表示
Const object. Propertychange
wordobjectbody is lock. that, middle. Property is changepossible and inspect it.. with const
プレビュー全画面表示
実務での使いどころ
-
Let and const の活用
ブロックスコープの変数宣言。let は再代入可能、const は再代入不可。var の問題を解消。
注意点
- 特になし。すべての主要ブラウザで安定して動作する。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features