目录
1、对象中如果属性名和属性值相同时,可以省略属性值
2、在对象中可以省略冒号:和function
3、表达式可以当做属性使用
var name = 'zs'
var a = 'first'
var b = 'name'
var obj = {
name,
age: 18,
say() {
console.log(this)
console.log('会说话'); //会说话
},
[a + b]: 'first'
}
console.log(obj);
console.log(obj[a + b]); //first
console.log(obj.firstname); //first
obj.say()
function asd(name) {
var obj_1 = {
name
}
console.log(obj_1); //{name:'name'}
}
asd('name')
4、Object.is()函数
Object.is()函数的作用:比较两个值是否严格相等,或者说是全等。相当于===
console.log(Object.is(10, 10)); //true
console.log(Object.is(10, '10')); //false
console.log(Object.is(null, false)); //false
console.log(Object.is(NaN, NaN)); //true
5、Object.assign(目标对象,源对象,源对象)函数
Object.assign()函数的作用:将源对象的属性赋值到目标对象上(后面的会覆盖前面的)。
var obj_2 = {
a: 1,
b: 2
}
var obj_3 = {
d: 3,
e: 4
}
var obj_5 = {
d: 5,
}
var obj_4 = Object.assign(obj_2, obj_3, obj_5)
console.log(obj_4); //{a:1,b:2,d:5,e:4}
6、Object.getPrototypeOf()函数
Object.getPrototypeOf()函数的作用:获取一个对象的prototype属性
function Person() {
}
Person.prototype.age = 19
Person.prototype.name = 'name'
var p1 = new Person()
console.log((p1.__proto__)); //{agn:19,name:'name',constructor:Proson(){}}
console.log(Object.getPrototypeOf(p1)); //{age:19,name:'name',constructor:Proson(){}}
7、Object.setPrototypeOf(实例化对象,函数)函数
Object.setPrototypeOf(实例化对象,函数)函数的作用:设置哦一个对象的prototype属性。
Object.setPrototypeOf(p1, {
sex: '男',
say() {
console.log('会说话');
}
})
console.log(Object.getPrototypeOf(p1)); //{sex:'男',say:say(){}}
8、Object.keys()和Object.values()函数
Object.keys()函数的作用:获取对象的属性
Object.values()函数的作用:获取对象的属性值
console.log(Object.keys(obj)); //['name','age','say','firstname']
console.log(Object.values(obj)); //['zs',18,say(){},'first']