ES 6基本知識文法(一)
1447 ワード
ES 6の定数表記
構文:
ここでは
注意:定数は読み取り専用のデータであり、変更はできません.
従来バージョンESの定数実装: ES 3: は実現不可能 ES 6:実装可能、オブジェクトを読み取り専用 に設定
ES 6スコープ
関数に閉パケットの概念があるES 5ではループの値を関数(役割ドメイン)に割り当てるにはカスタム属性が必要ですES 6ではループの宣言変数varをletに変更すれば関数(役割ドメイン)に値を割り当てることができます
役割ドメインはES 5では,即時実行関数で役割ドメインを分離する必要があり,ES 6では{}で直接分離することができる.
ブロックスコープ:{}
例1:ES 5における役割ドメイン
解釈
例2:ES 6における役割ドメイン
ES 6で新しい役割ドメインを定義するには
構文:
const =
const PI = 3.1415926
console.log(PI)
ここでは
console.log()
を追加してブラウザコンソール出力を行う注意:定数は読み取り専用のデータであり、変更はできません.
従来バージョンESの定数実装:
Object.defineProperty(window, "PI2", {
value: 3.1415926,
writable: false,
})
console.log(window.PI2)
ES 6スコープ
関数に閉パケットの概念があるES 5ではループの値を関数(役割ドメイン)に割り当てるにはカスタム属性が必要ですES 6ではループの宣言変数varをletに変更すれば関数(役割ドメイン)に値を割り当てることができます
役割ドメインはES 5では,即時実行関数で役割ドメインを分離する必要があり,ES 6では{}で直接分離することができる.
ブロックスコープ:{}
例1:ES 5における役割ドメイン
// ES5
const callbacks = []
for (var i = 0; i <= 2; i++) {
callbacks[i] = function() {
return i * 2
}
}
解釈
callbacks
のreturn i*2
は、関数変数値の参照ではなく、変数への参照である.関数体は値ではなく変数であるため、ループの変数値を正常に導入することはできません.例2:ES 6における役割ドメイン
const callbacks2 = []
for (let j = 0; j <= 2; j++) {
callbacks2[j] = function() {
return j * 2
}
}
console.table([
callbacks2[0](),
callbacks2[1](),
callbacks2[2](),
])
let
で宣言された変数を説明するには、ブロックの役割ドメインの概念があります.このときの閉パケットは、現在のブロックの役割ドメインに依存し、現在の値が保存され、後の閉パケットで使用されます.ES 6で新しい役割ドメインを定義するには
{}
を直接使用します.{
function foo() {
return 1
}
console.log("foo()===1", foo() === 1)
}