文章目录
is —— 比较两个值是否相同
比较两个值是否相同,与严格等于===
的不同之处有两个:一是+0
不等于-0
,二是NaN
等于自身
Object.is(NaN,NaN) //true
Object.is(+0, -0) //false
assign —— 合并对象
Object.assign
函数用于合并对象,将第一个参数后面的参数合并到第一个参数上,若属性名重复,后面的覆盖前面的值
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const obj3 = { c: 3 };
Object.assign(obj1, obj2, obj3);
console.log(obj1) // {a:1, b:2, c:3}
entries ,keys,values —— 获取键值对、键名、值
这三个方法返回的都是数组
const obj1 = {a:1, b:2, c:3};
console.log( Object.entries(obj1)) // [["a", 1], ["b", 2], ["c", 3]]
console.log( Object.keys(obj1)) // ["a", "b", "c"]
console.log( Object.values(obj1)) // [1, 2, 3]
freeze ——冻结对象
冻结后的对象无法修改
let Object.isFrozen({});= {a:'1', b:2}
Object.freeze(obj) //冻结
obj.a = '3'
obj.c = '3'
console.log(obj) //{a: "1", b: 2}
isFrozen —— 判断是否被冻结
Object.isFrozen(obj);
fromEntries —— 键值对列表转为对象
返回的是新的对象,不改变原数据
let likeObj = [['a',1],['b',2]]
let obj = Object.fromEntries(likeObj) //冻结
console.log(obj) //{a: "1", b: 2}