6-对象简洁语法以及对象新增

一、对象简洁写法

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':'小明'}}

你可能感兴趣的:(6-对象简洁语法以及对象新增)