es6对象的扩展

es6对于对象的扩展

  • 属性名的简洁表达式
const { a, b } = { a: 1, b: 2, c: 3 };
  • 属性表达式
const b = {
  aaa: 1,
  ["bbb"]: true
};
  • 方法的name的属性
  • Object.is() 方法与 === 行为基本等效
      == 要把值的类型自动转换 这个只是值相等
      === 类型相等,值也要相等 NaN与NaN并不相等 +0 与 -0 相等
      Object.is() NaN与NaN相等 +0与-0并不相等

  • Object.assign

/**
 * 用于对象的合并
 * @param {*} 目标对象
 * @param {*} 后面的参数都是源对象 拷贝的是源对象的可枚举(不拷贝继承属性)的属性,如果属性相同后者会覆盖前者
 * @returns 新的对象
 */
Object.assign(obj,{a:1});
// 注意:
// 1:浅拷贝(要想深层拷贝合并可以使用lodash中_.defaultsDeep(target,souce))
// 2:用途
// a:为对象添加属性
// b:为对象添加方法
// c:克隆对象
// d:合并多个对象
// e:为属性指定默认值
  • 属性的枚举和遍历

 上一篇
继承 继承
继承原型链的继承 核心:将父类的实例作为子类的原型 优点 非常纯粹的继承关系,实例是子类的实例,也是父类的实例 父类新增原型方法/原型属性,子类都能访问到 简单,易于实现 缺点 要想为子类新增属性和方法,必须要在new Father
2018-03-11
下一篇 
object object
object对象特性 对象的原型(prototype)指向另外一个对象,本对象的属性继承来自它的原型对象 对象的类(class)是一个标识对象类型的字符串 对象的扩展标记(extensible flag)指明了在(es5中)是否可以向该对象
2018-03-05
  目录