Closed12

[JS] Property

cacao_catcacao_cat
const jonas = {
    firstName: `Jonas`, // Key:Value
    lastName: `Schmedtman`, // Left:Property
    age: 2037 - 1991,
    job: `teacher`,
    friends: [`Michael`, `Jon`, `Usagi`]
};
console.log(jonas);

配列と異なり、各値に名前をつけることができる。

cacao_catcacao_cat

propertyは、アルファベット順に並んでいる。
単にプロパティ名を使用して、オブジェクトからプロパティを取得するだけだから。

cacao_catcacao_cat

オブジェクトからプロパティを取得する
①ドット記法

const jonas = {
    firstName: `Jonas`, // Key:Value
    lastName: `Schmedtman`, // Left:Property
    age: 2037 - 1991,
    job: `teacher`,
    friends: [`Michael`, `Jon`, `Usagi`]
};
console.log(jonas);
console.log(jonas.lastName); // jonas.のドットは演算子である。

②ブラケット記法

console.log(jonas[`lastName`]);
cacao_catcacao_cat

一つの変数を定義して、後で二つの変数を定義する方法
ブラケット記法なら可能だが、ドット記法ではできない

const jonas = {
    firstName: `Jonas`, // Key:Value
    lastName: `Schmedtman`, // Left:Property
    age: 2037 - 1991,
    job: `teacher`,
    friends: [`Michael`, `Jon`, `Usagi`]
};

const nameKey = `Name`;
console.log(jonas[`first` + nameKey]);
console.log(jonas[`last` + nameKey]);

console.log(jonas.`last` + nameKey]);
Jonas
Schmedtman
SyntaxError: Unexpected template string
cacao_catcacao_cat

なので、上記以外の場合には、ドット記法を使用することにする。

cacao_catcacao_cat

ドット記法だとエラーになる。

const interestedIn = prompt(`Choose Your Interest.`);
console.log(jonas.interestedIn);

cacao_catcacao_cat

ブラケット記法だと通る。

const interestedIn = prompt(`Choose Your Interest.`);
console.log(jonas[interestedIn]);


cacao_catcacao_cat

undefinedはFalsyである。
If Statementで、truthyであれば、入力した内容が表示される。

if (jonas[interestedIn]) {
    console.log(jonas[interestedIn]);
} else {
    console.log(`This is Wrong.`);
}
cacao_catcacao_cat

値を追加できる。

jonas.location = `Portugal`;
jonas[`twitter`] = `IAM`;
console.log(jonas);
{
  firstName: 'Jonas',
  lastName: 'Schmedtman',
  age: 46,
  job: 'teacher',
  friends: [ 'Michael', 'Jon', 'Usagi' ],
  location: 'Portugal',
  twitter: 'IAM'
}
cacao_catcacao_cat
console.log(`${jonas.firstName} has ${jonas.friends.length} friends and his best friend is called ${jonas.friends[0]}`);
Jonas has 3 friends and his best friend is called Michael
cacao_catcacao_cat

左から右へ、の優先度(Priority)
Member Access 、計算によるMember Access。
ドット記法とかブラケット記法はこれにあたる。

このスクラップは2022/08/13にクローズされました