学习的时候老师碰到使用Object中的方法,因此将其列出来,看下都能干什么用,也方便以后开发直接使用
将所有可枚举返回和自有属性从一个或多个源对象复制到目标对象
const target={a:1,b:2}
const source={b:4,c:5}
const target=Object.assign(target,source)
第一个参数为目标对象,后面的参数可以为需要一个或多个复制的对象,最后结构返回复制后的目标对象
注意1:使用Object.assign进行深拷贝只会拷贝第一层引用,因此无法对多层引用对象进行深拷贝
注意2:复制null和undefined时会忽略,只能复制可枚举类型和自身的属性,一般只有string有自己的可枚举属性
用于创建一个新对象,使用现有对象作为新对象的原型
使用Object.create实现继承
function Person(name,age){
this.name=name
this.age=age
}
Person.prototype.getName=function(){
return this.name
}
function Student(name,age,grade){
Person.call(this,name,age)
this.grade=grade
}
Student.prototype=Object.create(Person.prototype)
Strdent.prototype.constructor=Student
直接在一个对象上定义新的属性或修改现有属性,并返回该对象
Object.defindPropertiy(obj,{
set(val){
obj==val
}
get(){
return obj
}
})
返回一个键值对数组
返回一个对象所有属性的属性名(包括不可枚举、属性,但不包括symbol值作为名称的属性)
返回一个对象使用Symbol值作为属性名
判断属性是否为对象的直接属性,该方法不会检查对象原型链上的属性
返回对象可枚举属性名称的数组
返回对象的属性值数组