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

标签 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函数和普通函数有什么区别?

最佳答案

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

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

关于javascript - 为什么我不能使用 ES6 函数语法作为构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46358986/

相关文章:

javascript - 使用 Reflect ES6 获取子属性

javascript - 如何找到 document.DocumentElement.Client 的坐标

javascript - Angularjs 指令 - 无法从隔离范围中检索值

javascript - 解构数组数组并同时获取第一个元素?

javascript - 为什么 JavaScript fetch API 的响应对象是一个 promise ?

javascript - 在 ReactJS 中使用导入

javascript - jquery 检查复选框是否被选中

javascript - 所见即所得图像定位解决方案?

javascript - Bootstrap 主题下拉菜单失败

JavaScript - 如何使用另一个条件过滤重复行