Object.keys(obj)
オブジェクトの キー(プロパティ名) を配列で返す
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));
// ["a", "b", "c"]
Object.values(obj)
オブジェクトの 値 を配列で返す
console.log(Object.values(obj));
// [1, 2, 3]
Object.entries(obj)
キーと値のペア を [key, value]
の配列で返す
console.log(Object.entries(obj));
// [["a", 1], ["b", 2], ["c", 3]]
for (const [key, value] of Object.entries(obj)) {
console.log(key, value);
}
// a 1
// b 2
// c 3
Object.assign(target, source)
オブジェクトをコピー・マージする
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const merged = Object.assign({}, obj1, obj2);
console.log(merged);
Object.fromEntries(array)
Object.entries()
の逆で、[key, value]
の配列からオブジェクトを作る
const arr = [["a", 1], ["b", 2]];
const obj = Object.fromEntries(arr);
console.log(obj); // { a: 1, b: 2 }
Object.hasOwn(obj, prop)(ES2022以降)
オブジェクトが指定のプロパティを持っているか確認する
const obj = { a: 1 };
console.log(Object.hasOwn(obj, "a")); // true
console.log(Object.hasOwn(obj, "b")); // false
(昔は obj.hasOwnProperty("a")
をよく使っていましたが、Object.hasOwn()
の方が推奨されています)