📒Javascriptコンポーネント:)


Symbol

  • Symbol関数の作成を呼び出します.
  • を使用して一意の識別子を作成
    この識別子の説明は、
  • 引数によって与えられる.
  • を選択して、文字列を引数として渡すことができます.この文字列は、シンボル値をデバッグするために使用されます~!、象徴的な価値の説明が同じでも、価値はユニーク!!
  • のデフォルトタイプは文字列と数値であり、タイプのデフォルトタイプへの変換はサポートされていません.
  • 👾 #1
    const a = Symbol(); // new를 붙이지 않음
    
    /* 유일한 식별자 */
    const a = Symbol();
    const b = Symbol();
    
    console.log(a === b) // false
    console.log(a == b) // false
    👾 #2 property key:構成部品タイプ
    const id = Symbol('id');
    const user = {
      name: 'Mike',
      [id] : 'myid'
    }
    console.log(user); // {name: 'Mike', Symbol(id): 'myid'}
    
    👉🏻 Object.keys(user), Object.values(user), Object.entries(user)、for(a in user){}すべてスキップして構成部品を実行!!

    📌 Symbolの使用例


    👾 #1シンボルXを使用
    // 다른 개발자가 만들어 놓은 객체
    const user = {
      name: 'Zooyaho',
      age: 34,
    }
    
    // 내가 작업
    user.showName = function() {}
    
    // 사용자가 접속하면 보는 메세지
    for( let key in user) {
      console.log(`His ${key} is ${user[key]}.`);
    }
    📍console

    👾 #2シンボルの使用
    // 다른 개발자가 만들어 놓은 객체
    const user = {
      name: 'Zooyaho',
      age: 34,
    }
    
    // 내가 작업
    const showName = Symbol("show name");
    user[showName] = function() {
      console.log(this.name);
    }
    
    // 사용자가 접속하면 보는 메세지
    for( let key in user) {
      console.log(`His ${key} is ${user[key]}.`);
    }
    📍console

    📌 非表示のSymbolキーの表示方法

  • Object.getownPropertySymbols(オブジェクト);
  • Reflect.ownKey(オブジェクト);
  • 🔵 Symbol.for()

  • グローバル構成部品
  • がない場合は作成し、ある場合は1つの構成部品しか取得できません.
  • Symbol関数は、毎回異なるSymbol値を生成しますが、Symbolです.forメソッドが作成されると、同じSymbolを鍵で共有します.
  • const idA = Symbol.for('id');
    const idB = Symbol.for('id');
    
    console.log(idA === idB) // true

    🔵 Symbol.keyFor()

  • Symbol.keyFor(変数)
  • 変数のシンボルキー値が表示されます.
  • const idA = Symbol.for('id');
    console.log(Symbol.keyFor(idA)); // 'id'

    🔵 description


  • グローバル構成部品ではkeyFor()は使用できません.
  • const id = Symbol('id 입니다.');
    console.log(id.description); // 'id 입니다.'