1.扩展功能
属性的简洁表示法
const name = '张三';
const age = 19;
const person = {
name, //等同于name:name
age,
// 方法也可以简写
sayName() {
console.log(this.name);
}
}
person.sayName();
//等同于:
const person = {
name:name, //等同于name:name
age:age,
// 方法也可以简写
sayName : function() {
console.log(this.name);
}
}
这种写法用于函数的返回值,将会非常方便。
function getPoint() {
const x = 1;
const y = 10;
return {x, y};
}
getPoint()
// {x:1, y:10}
//相当于:
{
x:x,
y:y,
}
let car = {
wheel:4,
set(newVal){
//一堆代码
},
get(newVal){
//屎山
}
}
看一下,随时可变的变量
const name = 'a'
const obj = {
io: true,
[name + 'bs']: 125,
['f' + name](){
console.log(11)
}
}
2.对象方法
2.2.1 is()
is()
:等同于===
,比较两个值是否完全相等
console.log(NaN === NaN) //false
is
方法解决了===
中NaN
的特殊性
console.log(Object.is(NaN, NaN)) //true
2.2.2 asssign()
合并对象并返回
let o = Object.assign({}, {a:778, b:7}, {c:88})
console.log(o)