1.Object.keys()
遍历对象,取出对象中所有的键或值
const person = {
name: "zhang",
age: 18,
};
Object.keys(person).forEach((key) => {
console.log(key); // name age
});
2. Object.values()
取出对象中所有的值
const person = {
name: "zhang",
age: 18,
};
console.log(Object.values(person)); // ['zhang',18]
3.Object.assign(target, …sources)
将所有sources中的属性,放到target中,追加没有的属性,替换已存在属性的值
const person = {
name: "zhang",
age: 18,
};
const res = Object.assign(
person,
{ hobby: ["basketball"] },
{ a: 1 },
{ name: "wang" }
);
console.log(res, person); // {name: 'wang', age: 18, hobby: Array(1), a: 1}
4.Object.entries()
返回字符串键属性 [key, value] 对的数组
const person = {
name: "zhang",
age: 18,
};
for (const [key, value] of Object.entries(person)) {
console.log(key, value); // name zhang // age 18
}
5.Object.is()
加强版意义上的===
举几个临界值
Object.is(NaN, NaN), // true
Object.is(+0, -0), //false
Object.is(3, "3") // false
6.Object.freeze()
冻结对象,只允许读取,允许修改,只作用于一层
const person = {
name: "zhang",
age: 18,
firends: [
{
name: "li",
age: 20,
},
],
};
Object.freeze(person);
person.firends[0].name = "wang";
console.log(person); // firends[0].name = wang
7.Object.seal()
密封对象,只允许修改,不允许删除、增加,作用于最外层
const person = {
name: "zhang",
age: 18,
};
Object.seal(person);
person.firends = [
{
name: "li",
age: 20,
},
];
console.log(person); // {name: 'zhang', age: 18}
.

被折叠的 条评论
为什么被折叠?



