为什么我不能使用ES6函数语法作为构造函数?

时间:2017-09-22 07:20:12

标签: javascript ecmascript-6

以下代码无效:

let myClass = ()=>{
    this.value = 2
    return this
}

myClass.prototype.print = ()=>{
    console.log(this.value)
}

虽然这有效

let myClass = function(){
    this.value = 2
    return this
}

myClass.prototype.print = function(){
    console.log(this.value)
}

ES6功能与常规功能有什么区别?

2 个答案:

答案 0 :(得分:2)

箭头函数不像普通函数那样处理this关键字。

在内部箭头函数中,this的值与函数外的值相同

答案 1 :(得分:2)