ES 6学習ノート(三):変数の解構賦値
1482 ワード
ES 6は、一定のパターンに従って配列およびオブジェクトから値を抽出し、変数に値を付与することを可能にし、これを解構と呼ぶ.解構賦値は実際の開発でコード量を大幅に削減し、プログラム構造をより明確にすることができます.配列の解構賦値は以前は変数に賦値していたが,直接値を指定するしかなかった.たとえば、次のコードがあります.
配列解析で値を割り当てることができます.
上のコードは、インストール位置のオブジェクト関係に対応する変数付与です.注意値を割り当てるときは、等号の左と右の形式を統一し、統一しないで解くと失敗します.
等号の両方の形式が異なる場合は、Undefinedを取得したり、直接エラーを報告したりする可能性があります.デフォルト値の使用は、デフォルト値の使用を許可します.
またundefinedは何もないに相当し、nullは値があるに相当するが、値はnullである.オブジェクトの解構賦値解構は、配列だけでなくオブジェクトにも使用できます.
注意:オブジェクトの解体は配列と重要な違いがあり、配列の要素は順番に配列され、変数の値はその位置によって決定されます.オブジェクトのプロパティには順序がありません.変数はプロパティと同じ名前でなければ、正しい値を取得できません.また、解体前に変数を定義した場合、再解体すると問題が発生し、コンパイルがエラーになります.
エラーを解決するには、プログラムを正常にするには、解構された文のアウトソーシングにカッコを付けるだけでいいです.
文字列解体文字列解体は、文字列が類似配列に変換されたオブジェクトに相当する.
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