JavaScriptのObject操作で忘れず知っておきたいObject関数一覧。
Object.assign()
Object.assign() メソッドは、1つまたは複数のオブジェクトから対象のオブジェクトに、すべての列挙可能な自身のプロパティの値をコピーするために使用されます。オブジェクトは参照によって割り当てられコピーされます。
const object1 = { a: 11, b: 12, c: 33, }; const object2 = Object.assign({ c: 4, d: 5 }, object1); console.log(object2.c, object2.d); // 33 5
Object.create()
Object.create() メソッドは、指定されたオブジェクトを、新しく生成されるプロトタイプオブジェクトとして使用し、プロパティを持つ新しいオブジェクトを生成するために使用されます。
const people = { printIntroduction: function () { console.log(`My name is ${this.name}. Am I human? ${this. isHuman}`); } }; const me = Object.create(people); me.name = "Ayush"; // "name" is a property set on "me", but not on "people" me. isHuman = true; // inherited properties can be overwritten me.printIntroduction(); //"My name is Ayush. Am I human? true"
Object.freeze()
Object.freeze() メソッドは、新しいプロパティが追加されないようにオブジェクトをフリーズさせます。このメソッドは、既存のプロパティ、属性、および値の変更を防ぎます。
const theIndianDevYT = { subscribeStatus: true }; const freezedobject = Object.freeze(theIndianDevYT); freezedobject.subscribeStatus = false;// Throws an error in strict mode console.log( `You are ${ freezedobject.subscribeStatus ? 'Subscribed': 'Not Subscribed' } to TheIndianDev` ); // "You are Subscribed to TheIndianDev"
Object.entries()
Object.entries()メソッドは、指定されたオブジェクト自身のプロパティ[キー、バリュー]ペアの配列を返却するために使用されます。
const obj = { 10: 'instagram', 21: 'ayushk', 23: 'the indiandev' }; console.log(Object.entries(obj)[2]); // Array ["23", "the indiandev"]
Object.values()
Object.values() メソッドは、指定されたオブジェクトの[key, value]ペアの列挙可能なバリューの値だけを返却します。返却される順番はfor...inループで提供されるものと同じ順序です。
const object1 = { a: 'Ayushk', b: 1, C: true, }; console.log(Object.values(object1)); //Array ["Ayushk", 1, true]