JavaScript的写类方式(6)

时间到了2015年6月18日,ES6正式发布了,到了ES6,前面的各种模拟类写法都可以丢掉了,它带来了关键字 class,constructor,set,get,extends,super。

ES6的写类方式

以上定义了一个类,constructor 是构造器,这点和 Java 不同,Java的构造器名和类名相同。constructor 这种简写语法来定义构造函数,因此不需要添加 function 关键字。

需要注意:

  • 字段属于该类对象,不会出现在原型(prototype)上,如本例的name,age
  • 字段只能在constructor中定义

也可以使用表达式方式创建类

ES6 还带来了属性访问器,set,get 后空格跟上对应的标识符即可

这里需要注意,使用访问器后 constructor 中的字段建议添加一个下划线(_)以区分访问器属性,否则会报错。访问器属性有强大的功能,你可以在其中添加额外的代码逻辑,此时赋值(使用=)或取值(使用.)将触发访问器函数代码。

再看看继承

以上代码中,constructor 和 toString 方法中,都出现了 super 关键字,它指代父类的实例(即父类的 this 对象)。 之前 ES5 有个 Object.getPrototypeOf 来获取父类的原型对象

可以继续阅读:

Original: https://www.cnblogs.com/snandy/p/5364848.html
Author: snandy
Title: JavaScript的写类方式(6)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536020/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球