一、对象简洁写法
1.属性和属性值一致的情况,以及对象内方法的简写(注意不要写箭头函数)
let name = '苹果';
let age = 18;
let json = {
name, //name:name
age, //age:age
show(){ //方法的简写
return this.name
}
}
二、Object.is():用来比较两个值是否相等
三、Objece.assign()
1.克隆对象
2.合并参数(比如写组件的时候)
let 新对象 = Object.assign(目标对象,sourse1,sourse2)
//将以下三个对象合并成一个对象
let json1 = {a:1};
let json2 = {b:2};
let json3 = {c:3};
let json4 = Object.assign({},json1,json2,json3)
console.log(json4) //{a: 1, b: 2, c: 3}
//如果有相同的值,后面的覆盖前面的
let json1 = {a:1};
let json2 = {b:2,a:2};
let json3 = {c:3};
let json4 = Object.assign({},json1,json2,json3)
console.log(json4) //{a: 2, b: 2, c: 3}
// 比如写组件时参数的合并
function ajax(options){ //用户传
let defaults = {
type : 'get',
header,
data:{}
};
// 合并成一个新对象,后面的覆盖前面的
Object.assign({},defaults,options)}
//复制一个新数组
let arr = ['苹果','梨','雪糕'];
let newArr = Object.assign([],arr);
console.log(newArr) //['苹果','梨','雪糕']
// 拷贝对象
// 注意,这里目标对象复制得到的是这个属性值对象的引用.
// 而且只能拷贝源对象上自身的值,不能拷贝继承的值以及原型上的值.
let json2 = {b:2,a:2,c:{'name':'小明'}};
let json3 = {...json2}
console.log(json6) //{b:2,a:2,c:{'name':'小明'}}