解体:ES6は、データオブジェクトから変数の割り当てとの値に応じてパターンを抽出することを可能にします
1.アレイ割り当て解体
せて[A、B、C] = [1、2、3]。
[X、Y]せ= [1、2、3]。 X // 1つの Y // 3
失敗した解体は、変数の値が等しい場合undefined
[X、Y、...、Z] = [ 'A']ましょう。 X // "" Y //未定義 Z // []
不完全解体、モードの左側に、すなわち等号、等号の右側の部分に一致する唯一配列
[、[B]、D] = [1、[2,3]、4]ましょう。 // 1 B // 2 D // 4
等号の右側が(それ自体がイテレータインターフェースを持たない)解体を通過できない場合、エラーが意志
デフォルト値
解体の割り当ては、デフォルト値を指定することができます。
ES6内部厳密な等価演算子の(ことに留意されたい===
)、位置の値があるか否かを判定する。したがって、アレイの厳密に等しいメンバーのみときundefined
、デフォルトで有効にする値。
せて[X = 1] = [不定]。 X // 1 LET [X = 1] = [NULL]。 X //ヌル
2.オブジェクトの解体の割り当て
{ 'BBB': 'AAA'、バーFOO}; {FOO、バー} =せ fooが// "AAA" バー// "BBB"
実は
ましょう{FOO:FOO、バー:バー} = {FOO: 'AAA'、バー: 'BBB'}。
foo
パターンマッチングは、baz
変数です。本当に割り当ては可変でbaz
はなくモデルよりも、foo
。
{ 'BBB' FOO: 'AAA'、バー}; = {バズFOO}せ バズ// "AAA" のfoo //エラー:fooが定義されていません
デフォルト値
条件の発効のデフォルト値は、そのオブジェクトのプロパティの値が正確に同じですundefined
。
VAR {X = 3} = {X:不定}。 X // 3 VAR {X = 3} = {X:NULL ;} X // ヌル