今回は ES6 オブジェクトの代入と Symbol についてご紹介します。 ES6 オブジェクトの代入と Symbol を使用する際の 注意点 については、以下のとおりです。
オブジェクト代入マージ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | let liu= "呵呵哒" ;
let long= "赖皮哒" ;
let a={liu,long};
console.log(a) ;
let key='skill';
var obj={ [key]:'web'}
console.log(obj.skill);
let s={liuliu: "wowoda" ,age:20};
let ss={long: "赖皮" };
let sss=Object.assign(s,ss);
console.log(sss);
|
ログイン後にコピー
2つの等号は比較中に
型変換を自動的に実行しますが、3つの等号は型が異なる場合は直接falseを返します
そしてObject.isです。 ( ) は 3 番目の等号に基づいており、-0 と +0 が同じでなくなるように NaN、-0、+0 を特別に処理します
ただし、Object.is(NaN, NaN) であることに注意してください。 ) は true を返します
シンボル: 新しい
データ型 として、es6 で誕生しました。シンボルは文字通り記号を意味し、何かの一意性を表します。
1 2 3 4 5 | let myId=Symbol();
let myname=Symbol();
console.log (myname) ===>Symbol()
typeof myname ===>symbol
console.log(myId===myname) ===>false
|
ログイン後にコピー
は
の基本的なデータ型と同様のシンボルと考えることができます。 string ; 他の型では操作できず、暗黙的に変換することもできません
Symbol() はメモリ内に新しい関数を作成すると考えることができます (したがって、括弧が関数の記号であると言うのは間違いではありません)。 ) );
Symbol 関数はパラメータを渡すこともできます。パラメータはこのシンボルの説明としてのみ使用されます。
1 2 | let myId=Symbol( "id" );
let myname=Symbol( "名字" );
|
ログイン後にコピー
2 つのシンボルのパラメータが同じであっても、新しいメモリ空間が存在するため、それらは等しくありません。が作成されます。
Symbol の最大の用途は、一意性を確保するためのオブジェクトの
属性 としてです。
1 2 3 4 5 | let system=Symbol();
let foo={};
foo[system]= "windows" ;
console.log(foo);
|
ログイン後にコピー
Symbol はフラグを共有することもできます。
1 | let sy=Symbol. for ( "aaa" );
|
ログイン後にコピー
Symbol.for(" ") は毎回新しいメモリを作成しません。最大でも 1 つだけです。 aaa ロゴがページに存在しない場合は作成し、存在する場合は前のアドレスを直接参照します。 例:
1 | let cccc=Symbol. for ( "aaa" );
|
ログイン後にコピー
次に: console.log(sy===cccc) ); //true; これも理解するのが簡単です。最終的には、aaa の説明を使用した特定のシンボル タイプの一意性が保証されます。さらに興味深いのは、この記事を読んだ後です。情報については、PHP 中国語 Web サイトの他の関連記事にも注目してください。
関連書籍:
ES6 での代入の構造化の詳細説明
ES6 の変数のスコープと宣言の詳細説明
以上がES6 オブジェクトの割り当てとシンボルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。