[TIL 24]javascript|オブジェクト
11504 ワード
オブジェクト
キーと値からなる属性の集合.
オブジェクト作成規則
:
に分割する必要があります.,
を使用します.オブジェクト属性へのアクセス
dot(.)に近づく
const puppy = {
name : 'choco',
age : 3
}
console.log(puppy.name); //choco
[]アクセス
const puppy = {
name : 'choco',
age : 3
}
const puppyAge = 'age';
console.log(puppy[puppyAge]); //3
属性の割当て
puppy['name'] = 'milk';
console.log(puppy.name) // milk
オブジェクトにはすでにキーが存在し、再割り当てすると値が変更されます.puppy.like = 'snack'
console.log(puppy.like) //snack
以前はなかったキーでアクセスすると、新しいpropertyが追加されます.方法
オブジェクトのプロパティ値が関数の場合、メソッドと呼ばれます.
const methodObj = {
do: function() {
console.log('This is method!');
}
}
メソッド呼び出し
methodObj.do();
オブジェクトの比較
テキストを変数に保存すると、テキスト自体が保存され、オブジェクトはオブジェクト自体ではなく参照が保存されます.
const hiObj = {
name: '안녕'
};
const helloObj = {
name: '안녕'
};
console.log('객체비교 =>', hiObj === helloObj);
->オブジェクト自体を格納するのではなく、オブジェクトの参照を格納します.オブジェクトが持つ真の値はメモリアドレスreferenceですが、オブジェクトをロードするとメモリに格納されているデータが返されます.したがって、表示されるデータは同じですが、実際のオブジェクトが持つ実際の値は異なります.(異なるメモリのリファレンスを格納)
オブジェクト内部の属性値を比較できます!
オブジェクト巡回方法
オブジェクトと配列には明確な順序がないため、オブジェクトのキーにアクセスする順序がわかりません.したがって,対象の巡視を無順序保障の巡視と呼ぶ.
->
length
配列順序法は使用できません.(オブジェクトにはlength
キーもないし、index
キーもないから!)Object.keys
オブジェクトが持つキーのリストを配列に戻す
const puppy = {
name : 'choco',
age : 3,
like : 'snack'
}
Object.keys(puppy); // [ 'name', 'age', 'like' ]
Object.keysは配列を返すので、length
で繰り返し文を使用できます.const keys = Object.keys(puppy);
for (let i=0; i<keys.length; i++) {
const key = keys[i]; // 각각의 키
const value = puppy[key] // 각각의 키에 해당하는 값
}
Object.values
オブジェクトが持つ値のリストを配列に戻す
const puppy = {
name : 'choco',
age : 3,
like : 'snack'
}
Object.values(puppy); // [ 'choco', 3, 'snack' ]
Object.entries
オブジェクトのキーと値のペアからなる長さ2の配列を返します.
const puppy = {
name : 'choco',
age : 3,
like : 'snack'
}
Object.entries(puppy);
// [ ['name','choco'], ['age',3], ['like','snack'] ]
for-in
for(let i = 0; i < arr.length; i ++)
構文の簡略化const puppy = {
name : 'choco',
age : 3,
like : 'snack'
}
for (let key in puppy) {
const value = puppy[key];
console.log(value);
}
Reference
この問題について([TIL 24]javascript|オブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@nsunny0908/TIL-24-javascript-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol