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都是公有属性。

你可能感兴趣的:(es6中的类语法糖)