什么=>在节点js中意味着什么

dee*_*ABC 13 javascript node.js ecmascript-6

我正在学习节点js,并且=>多次遇到过,但很难理解这意味着什么.

这是一个例子:

app.post('/add-item', (req, res) => {
  // TODO: add an item to be posted
});
Run Code Online (Sandbox Code Playgroud)

在上面的例子中我们真的需要这个吗?一个简单的解释会有所帮助.谢谢

rob*_*t-s 31

它不是节点独有的,它是ES6 Arrow函数表达式

app.post('/add-item', (req, res) => {
  // TODO: add an item to be posted
});
Run Code Online (Sandbox Code Playgroud)

基本上是指:

app.post('/add-item', function(req, res) {
  // TODO: add an item to be posted
});
Run Code Online (Sandbox Code Playgroud)

这两个例子的主要区别在于第一个例子是词汇上绑定this价值.

  • 是@AllTheTime,但这对于寻找`=>`信息的其他人来说可能是有用的.因此,我把它包括在内. (9认同)
  • 很好的答案,但我怀疑`词汇绑定这个值'对那些认为`=>`是node.js独有的人意义重大 (4认同)
  • 没什么特别的。词汇绑定是静态绑定的一个奇特的词,这反过来意味着`this`在匿名函数内部不会改变,并且始终指向包含它的对象。 (2认同)