JavaScript(Symbol)


Symbol


構成部品は、変更できないオリジナルタイプの値であり、他の値と重複しない一意の値です.
構成部品値は、競合するリスクのないオブジェクトの一意のアイテム(属性)キーを作成するために使用できます.
すなわち、オブジェクトデータ型に秘密のキー値を付与したい場合に使用します.
Symbol()関数の使用
var person = { name : 'Kim' };
person.weight = 100; //일반적인 오브젝트에 속성값 저장
var weight = Symbol('내 진짜 몸무게'); //심볼형 저장
person[weight] = 200; //대괄호 속 변수값 작성
console.log(person);
オブジェクトに直接入力可能
var person = { name : 'Kim', [weight] : 200 };
上のコードでは、Symbolをキー値、200を値としてオブジェクトに格納します.
したがって,出力時に{Symbol(実体重):200}と判定できる.

for inで検証可能
for(var key in person){
    console.log(person[key]); person객체 내 value 값 출력!
}
Symbolプロパティ1 同じ説明があれば、同じSymbolではありません。 vara=Symbol("説明1"); var b=Symbol("説明1"); console.log(a === b); //false 上記の例では、a、bはいずれも同じ「説明1」を有するが、出力値はfalseである。 Symbol()関数を使用して独自のSymbolを生成するためです。 Symbolプロパティ2 変数と同じ値を持つ場合は、同じ変数として扱うように構成部品の値を設定しますか? Symbol()の代わりにSymbolを使用します。for()を使用してグローバル構成部品を作成します。 var a = Symbol.for(説明1);//グローバル構成部品の作成 var b = Symbol.for(「説明1」);a変数は既に同じ値が存在する console.log(a === b); //true 上記の例では、a変数にはSymbolが含まれています。for関数を用いて説明値を保存したが,b変数の値は説明値を保存する際に説明付きSymbolが既に存在すると考えられる. したがって、aとbは異なる位置に素子を作成するが、それらは同じSymbol値を有する。 Symbolリソース3 Array、Objectデータ型を作成する場合、基本的なSymbolがいくつか隠されています。 var array = [2,3,4]; console.log(array[Symbol.iterator]()); Symbol.反復器はfor...有効なSymbol iterable protocol JavaScriptオブジェクト(for...)of構造で任意の値をループするなど、反復動作を定義またはカスタマイズできます。 ES 6環境にこのような組み込み機能が存在することは理解できる。