【问题标题】:What does => mean in node js [duplicate]=>在节点js中是什么意思[重复]
【发布时间】:2017-01-12 16:31:52
【问题描述】:

我正在学习 node js,遇到了几次'=>',但是很难理解这意味着什么。

这是一个例子:

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

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

【问题讨论】:

    标签: javascript node.js ecmascript-6


    【解决方案1】:

    这不是节点专有的,它是ES6 Arrow function expression

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

    基本意思是:

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

    这两个示例的主要区别在于第一个示例在词法上绑定了this 值。

    【讨论】:

    • 不错的答案,但我怀疑 lexically binds the this value 对于认为 => 是 node.js 独有的人来说意义重大
    • 是的@AllTheTime,但这对于正在寻找=> 信息的其他人来说可能很有用。因此,我将其包括在内。
    • 没什么特别的。词法绑定是静态绑定的一个花哨词,这反过来意味着this 在匿名函数内部不会改变,并且总是指向包含它的对象。
    【解决方案2】:

    这只是编写匿名函数的另一种方式:

    $(document).ready(() => {
        console.log('Hello I am typescript');
    });
    

    相当于JavaScript:

    $(document).ready(function(){
        console.log('Hello I am typescript');
    });
    

    【讨论】:

    • 它有两个不同的,单行上的默认返回值(没有 { }),这是从父上下文中保留的(这就是你最有可能一直想要的回调,最好使用常规函数否则)
    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 2016-08-17
    • 2015-11-19
    • 2015-04-11
    • 2015-11-25
    • 2020-08-29
    • 2013-03-29
    • 2019-12-25
    相关资源
    最近更新 更多