ES 6学習ノート(三):変数の解構賦値

1482 ワード

ES 6は、一定のパターンに従って配列およびオブジェクトから値を抽出し、変数に値を付与することを可能にし、これを解構と呼ぶ.解構賦値は実際の開発でコード量を大幅に削減し、プログラム構造をより明確にすることができます.配列の解構賦値は以前は変数に賦値していたが,直接値を指定するしかなかった.たとえば、次のコードがあります.
let a=1;
let b=2;
let c=3;

配列解析で値を割り当てることができます.
let [a,b,c] = [1,2,3];

上のコードは、インストール位置のオブジェクト関係に対応する変数付与です.注意値を割り当てるときは、等号の左と右の形式を統一し、統一しないで解くと失敗します.
let [a,b,[c,d,e],f] = [0,1,[2,3,4],5];

等号の両方の形式が異なる場合は、Undefinedを取得したり、直接エラーを報告したりする可能性があります.デフォルト値の使用は、デフォルト値の使用を許可します.
let [ t =true] = [ ];
console.log(t); //true
let [ a,b,c=" zqq"] = ['i','am' ];
console.log(a+b+c); // i am zqq

またundefinedは何もないに相当し、nullは値があるに相当するが、値はnullである.オブジェクトの解構賦値解構は、配列だけでなくオブジェクトにも使用できます.
let {cat,dog} = {cat:'Mike','dog':'John'};
console.log(cat+dog);  //MikeJohn

注意:オブジェクトの解体は配列と重要な違いがあり、配列の要素は順番に配列され、変数の値はその位置によって決定されます.オブジェクトのプロパティには順序がありません.変数はプロパティと同じ名前でなければ、正しい値を取得できません.また、解体前に変数を定義した場合、再解体すると問題が発生し、コンパイルがエラーになります.
let cat;
{cat} = {cat : 'Mike'};
console.log(cat);

エラーを解決するには、プログラムを正常にするには、解構された文のアウトソーシングにカッコを付けるだけでいいです.
let cat;
({cat} = {cat : 'Mike'});
console.log(cat);

文字列解体文字列解体は、文字列が類似配列に変換されたオブジェクトに相当する.
const [a,b,c,d] = "Mike";
console.log(a);  //M
console.log(b);  //i
console.log(c);  //k
console.log(d);  //e