美文网首页
扩展的对象功能

扩展的对象功能

作者: 云彩上的翅胖 | 来源:发表于2017-02-27 21:30 被阅读0次

对象字面量语法的扩展

属性初始化器的速记法

function createPerson(name,age){
    return {
    //当对象字面量的属性只有名称时,JS引擎会在周边作用域查找同名变量,若找到,该变量的值会被赋值给对象字面量的同名属性。
        name,
        age
    }
}

方法简写

var person={
    name:"NC",
    sayName() {
        return this.name;
    }
}

sayName方法被一个匿名函数赋值,并且能使用 super 。

需计算属性名

var suffix = " name";
var person = {
    ["first" + suffix]:"NC";
    ["last" + suffix]:"NC";
}

新的方法

Object.is()方法

用于弥补全等运算符的怪异点。

Object.is(NaN,NaN) //true
Object.is(+0,-0)   //false

Object.assign()方法

Object.assign()方法接受任意数量的供应者,而接受者会按照供应者在参数中的顺序依次接受他们的属性。

重复的对象字面量属性

当存在重复的属性时,后一个会覆盖前一个。

自有属性的枚举顺序

  1. 所有数字类型键,按升序进行排列。
  2. 所有字符串类型键,按添加顺序进行排列。
  3. 所有符号类型键,按顺序排列。

更强大的原型

修改对象的原型

使用Object.setPrototypeOf(target,proto)可以修改对象的原型。

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

super实际上相当于 Object.getPrototypeOf(this)的值。但super的值不是动态的,而是指向当前对象的原型的一个指针。

只有使用简写的方法才能使用super

正式的“方法”定义

方法是一个拥有[[HomeObject]]内部属性的函数,此内部属性指向该方法所属的对象。

相关文章

  • 扩展的对象功能

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

  • 装饰器模式

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

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

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

  • js内置对象string

    1.string对象的常用方法和属性 2.给string对象扩展功能

  • 设计模式之:装饰模式

    1、装饰模式定义: 装饰模式是在不必改变原来对象代码,也不继承该对象的情况下,动态的扩展该对象的功能若要扩展对象功...

  • 对象的功能扩展-《understanding ECMAScipt

    对象分类 ES6将对象分为以下几类: 普通对象 外来对象 标准对象 内建对象 对象字面量的扩展 当key的名与 (...

  • 扩展对象的功能性

    Object.assign()不能将提供者的访问器属性复制到接收对象中。由于Object.assign()方法执行...

  • 设计模式(8) : 装饰器模式

    定义: 在不改变原有对象的基础之上, 将功能附加到对象上. 提供了比继承更有弹性的替代方案(扩展对象的功能) 类型...

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

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

  • 设计模式-装饰者模式(结构型)

    定义 在不改变原有对象的基础之上,将功能附加到对象上。提供了比继承更有弹性的替代方案(扩展原有对象功能)。 适用场...

网友评论

      本文标题: 扩展的对象功能

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