オブジェクト


オブジェクト

  • KeyとValueの間:
  • を使用
    構成
  • 対[Key:value]
  • 複数の属性を区別するために使用される:
  • {Key:Value}として作成
    let jay = {
               name: 'Jay', 
               bornYear: 1991, 
               'is Human': true, 
               boyfriend: null, 
               learn: {
                       title: 'Basic in JS', 
                       language: 'JavaScript'
                       }
               }
    
    console.log(typeof jay);              // object

    ポイント記号-objectName。propertyName

    console.log(jay.bornYear);            // 1991

    かっこ-objectName[propertyName]

    console.log(jay['is Human']);         // true
    console.log(jay['is ' + 'Human']);    // true
    
    let propertyName = 'name';
    console.log(jay[propertyName]);       // Jay
    
    console.log(jay.learn[title]);        // Basic in JS

    Key(値の名前)


    Property Nameとも呼ばれます
    デフォルトの形式は文字列です
    「私」、「私」がなくても文字列として認識
    (",","使用時に次の3つのルールXを適用)
  • 頭文字は、アルファベット、(下線)、および$(ドル)で始まる必要があります.
  • 無効スペース
  • -使用禁止(ハイフン)
  • Value


    属性値とも呼ばれます
    すべてのデータ型が使用可能(Number、String、Boolean、Null...)
    別のオブジェクトで値としてオブジェクトを使用することもできます.

    属性の変更

    console.log(jay.name);       // Jay
    jay.name = 'Jay Yi';
    console.log(jay.name);       // Jay Yi

    属性の追加

    console.log(jay.city);       // undefined
    jay.city = 'Seoul';
    console.log(jay.city);       // Seoul

    属性の削除

    console.log(jay.boyfriend);    // null
    delete jay.boyfriend;
    console.log(jay.boyfriend);    // undefined

    ツールバーの

    // [jay 객체 내 name 프로퍼티의 값이 undefined가 아니다]의 논리값
    console.log(jay.name !== undefined);    // true

    propertyName in object

    // [ jay 객체 내 boyfriend 프로퍼티의 존재 여부 ]의 논리값
    console.log('boyfriend' in jay);        // false
    
    if ('boyfriend' in jay) {               // true
        console.log(`boyfriend 값은 ${jay.boyfriend}입니다.`);
    } else {                                // false
        console.log('boyfriend 프로퍼티가 존재하지 않습니다.');
    }
    
    // boyfriend 프로퍼티가 존재하지 않습니다.
    // delete 에서 boyfriend 프로퍼티를 지워주었으므로, else 부분 출력