在节点模块module.exports中使用Fat箭头

时间:2017-10-12 01:49:21

标签: javascript node.js ecmascript-6

我是节点模块的新手。我试过了

module.exports = function (firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.fullName = function () { 
        return this.firstName + ' ' + this.lastName;
    }
}

然后

让person1 =新人(' Rajesh'' Dhoundiyal')

这很有效。但是当我尝试在module.exports中使用Fat箭头时,它不起作用。

e.g。 module.exports = (firstName, lastName) => {

稍后会将此错误视为person is not a constructor。我不知道为什么会这样。任何人都可以告诉我为什么胖箭不能在这里工作。

1 个答案:

答案 0 :(得分:1)

this中的arrow-funciton与其他正常功能不同。 this中的arrow-funciton指向{strong>上下文,arrow-funciton被定义,因此不能用作构造函数 请参阅Arrow functions

  

箭头函数表达式的语法比函数表达式短,并且不绑定它自己的this,arguments,super或new.target。这些函数表达式最适合非方法函数,它们不能用作构造函数。