JS中級Symbol資料型


▶▼Symbol資料型

  var newSymbol = Symbol('설명');
  • 元のオブジェクトは、キー値を文字でのみ入力できます.
  • Symbolは、オブジェクトデータ型に秘密キー値を付与するために使用される.
  • ▼▼Symbolの利用先

      var person = {name : 'Kim'};
      person.weight = 100;
    
      var weight = Symbol('my weight');
      person[weight] = 200; 
    
      console.log(person); // { name: 'Kim', weight: 100, [Symbol(my weight)]: 200 }
  • コンソールウィンドウには、オブジェクトにこのような特殊な名前のデータを作成する場合にSymbolを使用する{[Symbol(myweight)]:200}というデータが表示されます.
  • Symbolは秘密の要素で、for inを使って文を繰り返しても検出できません.非表示にする要素がある場合はSymbolを使用します.
  •   var newSymbol = Symbol('설명');
    
      var person = { name : "Kim", [height] : 160 };
  • 職業資料型を直接入力する場合は、括弧内に記号名を記入すればよい.
  • ▼▼Symbol資料型の特徴

    var a = Symbol('script1');
    var b = Symbol('script2');
    console.log(a===b);//false
  • の例では、aおよびb要素の説明は同じであるが、両者は同じであり、比較するとfalseが残る.Symbolは、Symbol()を使用するたびに独自のSymbolが生成されるためです.
  • var a = Symbol.for('script1');
    var b = Symbol.for('script2');
    console.log(a===b);//true
  • のようにSymbolfor()を使用してサイズ比較を行うと、上記の例とは異なりtrueが出力されます.(グローバル構成部品)
  • Symbolのためfor()で新しいSymbolを作成する場合、説明が同じであれば、その説明を持つSymbolが挿入されるからです.
  • ▶️ Symbol.iterator()

    var array = [2,3,4];
    console.log(array[Symbol.iterator]);
  • 配列とオブジェクトには密接なSymbol資料型がある.たとえば、すべての配列データ型には[symbol.iterator]という要素が含まれています.(Symbolを出力する場合は、オブジェクト[構成部品名]を使用します.)
  • Symbol.iteratorはSymbolで、for ofを書き込むのに役立ちます.これが存在してこそfor of重複文を書くことができる.