TIL 2020-10-20(オブジェクト)


レベル1~2


TIL List

  • オブジェクト
  • 1)対象


    このコースの学習対象者.JavaScriptでは、オブジェクトをゲームキャラクタにたとえることができます.私の役とみんなの役には職業と能力がありますが、異なる職業と能力があります.登録時に異なる情報を入力できますが、入力する情報の種類は同じです.
    1つのデータに複数のプロパティがある場合は、オブジェクトを使用することが望ましい.

    1.変数を使用したアドレス帳の作成


    変数を使用してアドレス帳を作成しましょう.
    let myFirstName = 'Yongho'
    let myLastName = 'Kim'
    let myEmail = '[email protected]'
    let myCountry = 'Korea'
    私の友達も私のアドレス帳に追加します.
    let myFirstName = 'Yongho'
    let myLastName = 'Kim'
    let myEmail = '[email protected]'
    let myCountry = 'Korea'
    
    let friendsFirstName = 'Wonwoo'
    let friendsLastName = 'Seo'
    let friendsEmail = '[email protected]'
    let friendsCountry = 'Korea'
    このように、各情報を変数として宣言して値を割り当てるのは効率的ではありません.

    2.配列を使用したアドレス帳の作成


    私たちは配列を知っています.配列を試してみましょう.
    let myInfo = [
    'Yongho'
    'Kim'
    '[email protected]'
    'Korea'
    ];
    
    let friendsInfo = [
    'Wonwoo'
    'Seo'
    '[email protected]'
    'Korea'
    ];
    まず,各情報を配列方式でバンドルする.もし私がその情報から友達の電子メール情報を見たいなら、どうすればいいですか?friendsInfo[2] // '[email protected]'のようにしてください.
    この場合、各情報を検索するために、0番目は名前です.一つ目は姓です.このようにインデックス番号を全部暗記します.可読性が悪いだけでなく、効率が低すぎる.

    3.オブジェクトを使用したアドレス帳の作成


    だから今回は相手を使って私の情報を組み合わせます.
    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };

    1.オブジェクトは括弧で囲まれています。


    2:を基準として,左側をキー(key),右側を値(value)と呼ぶ.


    (上のfirstNameはキー、Yonghoは値)キーと値をコロン(:)で区切ります.)

    3.キーと値のペアをカンマ(,)で区切ります。


    (firstName : 'Yongho', lastName : 'Kim')
    オブジェクトを使用すると、firstNameキーに「Youngho」という値(value)が割り当てられていることが容易に判断され、分類が容易になります.このため、様々な情報を組み合わせる場合には、上図のようにオブジェクトを使用する方が効率的である.

    オブジェクト値にアクセスする2つの方法

  • 点符号
  • 読みやすく、よく使われる特徴があります.
    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };
    
    myInfo.firstName; // 'Yongho'
    myInfo.email; // '[email protected]'
  • 括弧マーク
  • 文字列タイプを入力するには、あまり使用しません.
    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };
    
    myInfo['firstName']; // 'Yongho'
    myInfo['email']; // '[email protected]'
    (myInfo[email] // undefinedで指定された値が文字列タイプでない場合、emailは変数とみなされますので、式にemail変数が存在するかどうかを参照してください.email変数は上にないので定義されていません).

    オブジェクトに値を追加します。

    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };
    
    myInfo['isMale'] = true; // isMale : true (키와 값이 객체에 추가된다.)
    myInfo.age = '22' // age : '22' (키와 값이 객체에 추가된다.)
    上記のように、オブジェクト名.任意のキー(key)=任意の値(value)形式で書き込み、値を追加できます.

    オブジェクトのキー値ペアを削除します。


    deleteオブジェクト名.鍵を開けばいいです.
    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };
    delete myInfo.lastName; // lastName : 'Kim' 키-값 쌍이 객체에서 삭제되고 결과는 아래와 같다.
    
    let myInfo = {
     firstName : 'Yongho',
     email : '[email protected]',
     country : 'Korea'
    };

    オブジェクトに鍵があるかどうかを確認します。


    アレイはArrayisArray()関数がある場合、オブジェクトにはin演算子があります.
    let myInfo = {
     firstName : 'Yongho',
     lastName : 'Kim',
     email : '[email protected]',
     country : 'Korea'
    };
    
    'firstName' in myInfo; // true
    'isMale' in myInfo; // false
    キーinオブジェクト名でOKです.