Closed12
[JS] Property
const jonas = {
firstName: `Jonas`, // Key:Value
lastName: `Schmedtman`, // Left:Property
age: 2037 - 1991,
job: `teacher`,
friends: [`Michael`, `Jon`, `Usagi`]
};
console.log(jonas);
配列と異なり、各値に名前をつけることができる。
propertyは、アルファベット順に並んでいる。
単にプロパティ名を使用して、オブジェクトからプロパティを取得するだけだから。
オブジェクトからプロパティを取得する
①ドット記法
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`]);
一つの変数を定義して、後で二つの変数を定義する方法
ブラケット記法なら可能だが、ドット記法ではできない
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
なので、上記以外の場合には、ドット記法を使用することにする。
ドット記法だとエラーになる。
const interestedIn = prompt(`Choose Your Interest.`);
console.log(jonas.interestedIn);
ブラケット記法だと通る。
const interestedIn = prompt(`Choose Your Interest.`);
console.log(jonas[interestedIn]);
undefined
はFalsyである。
If Statementで、truthyであれば、入力した内容が表示される。
if (jonas[interestedIn]) {
console.log(jonas[interestedIn]);
} else {
console.log(`This is Wrong.`);
}
値を追加できる。
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'
}
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
ドット演算子
なことに留意する。
左から右へ、の優先度(Priority)
Member Access 、計算によるMember Access。
ドット記法とかブラケット記法はこれにあたる。
このスクラップは2022/08/13にクローズされました