匿名函数和=>之间有什么区别? node.js中的符号?

时间:2016-02-22 22:09:46

标签: javascript node.js callback

我只是想用node.js读取一个文件。

我曾经使用过这种表示法:

fs.readFile('/etc/passwd', function(err, data) {
  if (err) throw err;
  console.log(data);
});

Node.js’s documentation提供以下代码:

fs.readFile('/etc/passwd', (err, data) => {
  if (err) throw err;
  console.log(data);
});

它们之间有什么区别?

3 个答案:

答案 0 :(得分:5)

  • 箭头功能是ES6中的新功能,因此they aren't supported in older browsers

  • 箭头功能有词汇this

    this.foo = 'bar';
    
    baz(function() {
        this.foo // probably undefined
    });
    
    baz(() => {
        this.foo // == 'bar'
    });
    

答案 1 :(得分:0)

=>是es6符号。箭头功能始终是匿名的。您提供的两段代码的功能相同。

答案 2 :(得分:-4)

第二个是ECMA 6,第一个是有点旧。没有区别。