ES6对象的新增方法
Object.is()
判断两个值是否相同
var a = 10;
var b = 11;
var c = 11;
var d = '11'
var e = '11'
var f = {
age:18
}
var g = {
age:18
}
h = f
var res = Object.is(a,b)
var ress = Object.is(b,c)
var rel = Object.is(c,d)
var rell = Object.is(d,e)
var pel = Object.is(f,g)
var pell = Object.is(f,h)
console.log(res,ress,rel,rell,pel,pell)
输出结果
false true false true false true
Object.is()
判断对象是根据地址判断
Object.assign()
将两个或多个对象合并成一个对象
var obj1 = {
age:18,
name:"张三"
}
var obj2 = {
age:19,
name:"李四"
}
var obj3 = {
height:"180cm",
weight:"80kg"
}
var res = Object.assign(obj1,obj2,obj3)
console.log(res)
输出结果,由于obj2和obj1的键名相同,所以obj2覆盖obj1
{age: 19, name: '李四', height: '180cm', weight: '80kg'}
Object.hasOwn()
判断某个属性是否为自身的属性
该方法带两个参数,第一个参数是要判断的对象,第二个参数是要判断的属性
var obj2 = {
age:19,
name:"李四"
}
var res = Object.hasOwn(obj2,"name")
var ress = Object.hasOwn(obj2,"classId")
console.log(res,ress)
输出结果
true false
Object.seal()
把对象变成不可配置对象
var obj = {
myname:"张三",
age:18
}
Object.seal(obj)
delete obj.age
obj.myname = "李四"
console.log(obj)
输出结果
{
myname:"李四",
age:18
}
该方法将对象的属性不可更改,但是值可以更改
Object.keys()
获取对象的所有键名,返回数组
var obj = {
myname:"张三",
age:18
}
var res = Object.keys(obj)
console.log(res)
输出结果
['myname', 'age']
Object.values()
获取对象的所有键值
var obj = {
myname:"张三",
age:18
}
var res = Object.values(obj)
console.log(res)
输出结果
['张三', 18]
万万语录
2022.11.15
今天学的太多了!!!吴老师还走神 现在我们两都不会,回家种地