EMACScript 6解構賦値
637 ワード
解構賦値の本質はモードマッチングであり、等号の両側のモードが一致する限り、右側の値は左の変数に賦値する解構である.
解構が成功しない場合、変数はundefinedに等しくなります.
等号の右側に遍歴可能な構造(Iterator)がない場合は、エラーが発生します.
上の文は、等号の右側の値が、オブジェクトに変換してからIteratorインタフェース(最初の5つの式)を備えていないか、それ自体がIteratorインタフェース(最後の式)を備えていないため、エラーが発生します.
はいれつかいせいわりあて
基本的な使い方
デフォルト
なお、ES 6の内部では厳密に等しい演算子(===)を使用して、位置に値があるかどうかを判断します.したがって、配列メンバーがundefinedに厳密に等しくない場合、デフォルト値は有効になりません.
オブジェクトのデリバリ
let [a,b,c] = [1,2,3];
//
let a = 1;
let b = 2;
let c = 3;
解構が成功しない場合、変数はundefinedに等しくなります.
等号の右側に遍歴可能な構造(Iterator)がない場合は、エラーが発生します.
//
let [foo] = 1;
let [foo] = false;
let [foo] = NaN;
let [foo] = undefined;
let [foo] = null;
let [foo] = {};
上の文は、等号の右側の値が、オブジェクトに変換してからIteratorインタフェース(最初の5つの式)を備えていないか、それ自体がIteratorインタフェース(最後の式)を備えていないため、エラーが発生します.
はいれつかいせいわりあて
基本的な使い方
デフォルト
なお、ES 6の内部では厳密に等しい演算子(===)を使用して、位置に値があるかどうかを判断します.したがって、配列メンバーがundefinedに厳密に等しくない場合、デフォルト値は有効になりません.
オブジェクトのデリバリ