2016-11-25 45 views
-1

我要声明与短synthax以下功能的功能,但我alwys得到一个错误,说“VM831:9遗漏的类型错误:人是不是构造(......)”我需要写功能吗?ES6宣布与支架

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

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

var p = new Person(); 
+6

是的,箭头函数不能是构造函数。更好的是,使用类。 – georg

回答

2

箭函数使用“词汇” this,即它们始终从当前范围,而不是由操作者new创建的继承this

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

1

函数不能有构造函数。因此改用ES6类。

class Person { 
    constructor(age) { 
     this.age = age; 
    } 
}