ES 6 letとconstコマンド
11921 ワード
ES 6 letとconstコマンド
阮一峰先生のES 6文章の中で、letとconst命令を詳しく紹介しました.
letコマンド基本的な使い方 サイクルに を使用する. letには変数が存在しません. 一時性死区 ブロックレベルのスコープ内に コードブロック内で です.
重複した声明は許されない. ブロックレベルのスコープは任意に入れ子できます. いったん声明したら、定数の値は変更できない. が作成されると、初値 を与えなければなりません. .
最上階のオブジェクトは、放浪器環境で最上階のオブジェクトの属性割当値とグローバル変数の割当値 である. ではない.
以上は
阮一峰先生のES 6文章の中で、letとconst命令を詳しく紹介しました.
letコマンド
let
は、ES 6によって追加された変数を宣言するために使用される.使用法はvar
と似ていますが、letコマンドはコードブロック内でのみ有効です.{
let b = 10000;
var c = 1000;
}
b // :ReferenceError:a is not defined
c // 1000
let
for(let i = 0; i < 5; i++){
//segment
//...
}
console.log(i);//ReferenceError:i is not defined
for(var i = 0;i < 5; i++){
//segment
//...
}
console.log(i);//5
letで定義されたiは循環体でのみ有効であり、varコマンドで定義されたiはグローバル変数である.//var
console.log(aaa);
var aaa = 2;
//
var aaa;
console.log(aaa);
aaa = 2;
//let
console.log(bbb);// ReferenceError
let bbb = 2;
let
コマンドが存在する限り、宣言された変数は「バインディング」(binding)という領域になり、外部の影響を受けなくなる.let
コマンドを使用して変数を宣言する前に、この変数はすべて利用できないvar a = 111;
if (true){
a = 222;//ReferenceError
let a;
}// let tmp , tmp “ ”。
{
let a = 10;//let ,
var a = 100;
let b = 100;// ,
let b = 10;
}
ブロックレベルのスコープ
とは、
という一つの
によって包まれているものです.// 1:
{
//segment1;
//segment2;
//segment3;
//...
}
// 2: for
// ,let a
for(let i = 0 ; i < 2 ; i++){
let a = 10;
var b = 0;
}
console.log(a);//
console.log(b);//0
{
{
{
{
let c = 0;
}
console.log(c);//
}
}
}
constコマンドconst
は読み取り専用の定数を宣言しています.const PI = 3.1415926;
console.log(PI);//3.1415926
PI = 3;
//TypeError: Assignment to constant variable.
const PI;
//SyntaxError:Missing initializer in const declaration
は、let
と同じである.宣言があるブロックレベルのスコープ内だけで有効である{
const PI = 3.1415926;
}
console.log(PI);//Uncaught ReferenceError:PI is not defined
const
アップグレードが存在しません.console.log(PI);//ReferenceError
const PI = 3.1415926;
最上階のオブジェクトのプロパティ最上階のオブジェクトは、放浪器環境で
window
を指します.window.a = 1;
console.log(a);//1
a = 2;
window.a //2
var
およびfunction
によって宣言されたグローバル変数は、依然として上位のオブジェクトの属性let
、const
、class
によって宣言されたグローバル変数は、上位のオブジェクトの属性以上は
let const
の全部の内容です.もし間違いがあったら、直ちに指摘してください.ありがとうございます.