Javascript es6用括号声明函数

Javascript es6用括号声明函数,javascript,Javascript,我想用简短的Syntax声明以下函数,但我总是得到一个错误,说“VM831:9未捕获类型错误:Person不是构造函数(…)”我需要编写函数吗 var Person = () => { this.age = 0; this.set = () => { this.age++; } } var p = new Person(); 函数不能有构造函数。所以改用ES6类 class Person { constructor(age) {

我想用简短的Syntax声明以下函数,但我总是得到一个错误,说“VM831:9未捕获类型错误:Person不是构造函数(…)”我需要编写函数吗

var Person = () => {
 this.age = 0;

 this.set = () => {
    this.age++; 
   }
 }

 var p = new Person();

函数不能有构造函数。所以改用ES6类

class Person {
     constructor(age) {
         this.age = age;
     }
}
箭头函数使用“词法”
this
,即它们总是从当前作用域继承
this
,而不是由
新的
操作符创建的作用域


因此,它们不能用作构造函数。

是的,箭头函数不能用作构造函数。更好的方法是使用类。