美文网首页
ES6--(4)扩展的对象功能

ES6--(4)扩展的对象功能

作者: wangxia34 | 来源:发表于2018-04-09 11:22 被阅读0次

对象类别

    普通对象:拥有 JS 对象所有默认的内部行为。

    奇异对象:其内部行为在某些方面有别于默认行为。

    标准对象:在 ES6 中被定义的对象,例如 Array 、 Date ,等等。标准对象可以是普通的,也可以是奇异的。

    内置对象:在脚本开始运行时由 JS 运行环境提供的对象。所有的标准对象都是内置对象。

对象字面量语法的扩展

属性初始化器的速记法

    当对象字面量中的属性只有名称时, JS 引擎会在周边作用域查找同名变量。若找到,该变量的值将会被赋给对象字面量的同名属性。

方法简写:在ES6中,可以通过省略function关键字和冒号来简写对象字面量中的方法。

需计算属性名

    在ES5中,对象实例能使用“需计算的属性名”,只要用方括号表示法来代替小数点表示法即可。在 ES6 中,需计算属性名是对象字面量语法的一部分,它用的也是方括号表示法,与此前在对象实例上的用法一致,在方括号中可以添加表达式。

新的方法

Object.is() 方法

    ES6 引入了 Object.is() 方法来弥补严格相等运算符残留的怪异点。在许多情况下, Object.is() 的结果与 === 运算符是相同的,仅有的例外是:它会认为+0 与 -0 不相等,而且 NaN 等于 NaN 。

Object.assign() 方法

    混入:一个对象从另一个对象中接收属性与方法。

重复的对象字面量属性:ES6取消了严格模式下的重复属性检查,排在后面的属性值为该属性的属性值。

自有属性的枚举顺序

    自有属性枚举时基本顺序如下:

        1. 所有的数字类型键,按升序排列。

        2. 所有的字符串类型键,按被添加到对象的顺序排列。

        3. 所有的符号类型键,也按添加顺序排

更强大的原型

    对象的原型会在通过构造器或 Object.create() 方法创建该对象时被指定。在ES5中 , JS 编程最重要的假定之一就是对象的原型在初始化完成后会保持不变。而在ES5 添加了 Object.getPrototypeOf() 方法来从任意指定对象中获取其原型,但仍然缺少在初始化之后更改对象原型的标准方法。

    ES6 通过添加 Object.setPrototypeOf() 方法而改变了这种假定,此方法允许你修改任意指定对象的原型。它接受两个参数:需要被修改原型的对象,以及将会成为前者原型的对象。

使用 super 引用的简单原型访问

    super 是指向当前对象的原型的一个指针,实际上就是 Object.getPrototypeOf(this) 的值。当使用多级继承时, super 引用就是非常强大的,因为这种情况下Object.getPrototypeOf() 不再适用于所有场景

正式的“方法”定义

    ES6 则正式做出了定义:方法是一个拥有 [[HomeObject]] 内部属性的函数,此内部属性指向该方法所属的对象。

相关文章

  • ES6--(4)扩展的对象功能

    对象类别 普通对象:拥有 JS 对象所有默认的内部行为。 奇异对象:其内部行为在某些方面有别于默认行为。 标准对象...

  • ES6--对象扩展

    简洁表示法 在对象中如果有函数,es6中采用简洁表示,a(c){},如果在es6中定义一个函数,那么采用箭头函数l...

  • ES6--对象的扩展

    属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...

  • es6--数组的扩展功能

    数组的方法 from() of() 1、from form 能将伪数组转换为真正的数组 form应用 2、of o...

  • es6--扩展对象的方法

    es6允许直接写入变量和函数,作为对象的属性和方法 对象提供扩展对象的方法 is assign is:表示两个值是...

  • <<深入理解ES6>>记:四

    第4章 扩展对象的功能性 1.对象字面量语法扩展 属性初始值的简写 对象方法的简写语法 可计算属性名(Comput...

  • 扩展的对象功能

    对象字面量语法的扩展 属性初始化器的速记法 方法简写 sayName方法被一个匿名函数赋值,并且能使用 super...

  • 装饰器模式

    定义 在不改变原有对象基础上,附加功能在对象上 适用场景 扩展类的功能 动态的为对象扩展功能,并且功能可以动态的撤...

  • 4. 扩展对象的功能性

    1. 对象类别 普通对象:具有JS对象所有的默认内部行为 特异对象:具有某些与默认行为不同的行为 标准对象:ES6...

  • kotlin语言学习10 ——kotlin 可见性与扩展

    本节主要介绍kotlin的可见性与kotlin中的扩展功能的使用,包括:扩展类、扩展方法、扩展伴生对象、扩展属性等...

网友评论

      本文标题:ES6--(4)扩展的对象功能

      本文链接:https://www.haomeiwen.com/subject/lnibhftx.html