es6中的类语法糖

es5中的类型定义

function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.sayName = function(){
alert(this.name);
};
Person.prototype.getOlder = function(years){
this.age += years;
};

es6语法

再看看使用新语法定义的类:
class Person {
constructor(name, age){
public name = name;
public age = age;
}
sayName(){
alert(this.name);
}
getOlder(years){
this.age += years;
}
}

  • 新语法以关键字class 开头,然后就是类型名,而花括号中定义的是属性和方法。
  • 定义方法不必再使用function 关键字,有方法名和圆括号就可以。
  • 如果把方法命名为constructor,那它就是这个类的构造函数(与前一个例子中的Person 函数一样)。
  • 在这个类中定义的方法和属性都会添加到原型上,具体来说,sayName()和getOlder()都是在Person.prototype 上定义的。
  • 在构造函数中,public 和private 关键字用于创建对象的实例属性。这个例子中的name 和age都是公有属性。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容