聞かせて、CONST:、ES2015(ES6)は二つの重要な変数の宣言を追加しました
:聞かせて文を複製し、コードの{}ブロックでのみ有効ではありません事前に初期化されていません
1.のみ有効ブロック
{ う = 1。; VARの B = 2 ; } にconsole.log(B) はconsole.log(A); // 出力エラーがステートメントブロックでのみ有効であるようになるため
2.文を繰り返さないでください
= 1をみましょう。 てみましょう = 2; //报错「」既に宣言された識別子:キャッチされないでSyntaxError
3.事前に初期化されていません
console.log(B)。// 未定義 するvar B = 2 ; console.log(A)。// 报错「」初期化前にアクセスできません = 1を聞かせて。
CONST:同様のルールとしましょう、しかし文が割り当てられる必要があり、基礎となるデータ・タイプは変更できません(数値、文字列、ブールブール)、参照データ型(オブジェクトがオブジェクト、配列の配列、関数function)を参照することによってのみ、その内容を変更するには
1.宣言を割り当てる必要があります
constのPI = "3.1415926" 。 PI // 3.1415926 のconst MY_AGE。 // にSyntaxError:constの宣言で欠落している初期化子
2.基本データ型は、参照データ型の内容を変更し、変更することはできません
const A = 1 。= 2; // キャッチされない例外TypeError:定数変数への代入。 CONST ARR = [1,2,3 ]。 arr.push( 4 )。 console.log(ARR)。// [1、2、3、4]
第二に、解体の割り当て:多くの問題を解決するには、割り当ての新しい変数を生成するために、代入演算の拡張を必要とします
任意の解体は、二つの部分を有する
1解体源:右側のオブジェクトを分解することです。
2解体目標:等号の左側を分解するためのオブジェクトです。
解体モデルアレイ(配列):
1.基本データ
せて[A、B、C] = [1,2,3 ]。 // A = 1、B = 2、C = 3
2.ネストされた配列の配列
せて[[[B]、C] = [1、[2]、3 ]。 // A = 1、B = 2、C = 3
3.要素を無視しました
[A、B]せ= [1,2,3 ]。 console.log(a、b)は、// 2 3
4.不完全な解体:解体なしオブジェクトの属性値が存在しない場合、または未定義のプロパティまたはそのデフォルト値を取ることはありません
せ[A = 2、B] = []; console.log(a、b)は、// 2未定義
解体は、オブジェクト(配列、オブジェクト、文字列)を横断することができ
せて[A、B、C、D、E] = 'こんにちは' ; console.log(A、B、C、D、E)。// ハロー
6.残り演算子:残りのオブジェクトは、最後に、解体を分解するためのオブジェクトではありません
聞かせて[A、B、C ...] = [1,2,3,4,5,6 ]; // A = 1 // B = 2 // C = [4,5,6]
オブジェクトの解体モデル(アレイ):
1.基本
せて、{A、B} = {1、B:2 }。 // A:1 // B:2
無視2.ネスト、
せOBJ = {1、B:{C:1 }}。 :{{C}、B}せ = OBJ。 console.log(C); // 1 1
せOBJ = {1、B:{C:1 }}。 :{{}、B}せ = OBJ。 console.log(A)。// 1
3.不完全な解体、デフォルト値
OBJ =せ{P:[{Y '世界' }]}。 ましょう{P:[{Y}、X = 1]} = OBJ。 // X = 1 // Y = '世界
4.残りのオペレータ:のみ最後に
せて、{A、B、...残り} = {10、B 20、C:30、D:40 }。 // A = 10 // B = 20 // 残り= {C:30、D:40}