这个符号是什么()=>在Javascript中意味着什么?

时间:2017-01-17 16:29:11

标签: javascript

你可以看到"(...)=>"此代码的第一行中的符号:

const server = http.createServer((req,res) => {
       res.statusCode = 200;
       res.setHeader('content-type', 'text/plain');
       res.end('Hello World');
    });

2 个答案:

答案 0 :(得分:7)

它是arrow function,在ES6中新定义。

  

箭头function expression的语法短于函数表达式,并且不绑定自己的thisargumentssupernew.target。箭头函数始终为anonymous。这些函数表达式最适合非方法函数,不能用作构造函数。

它们通常只是编写匿名函数function () {}的一种较短方式,您可能已经熟悉它。

这些代码片段做同样的事情:

  1. setTimeout(function () {
      console.log("Hey");
    }, 1000);
    
  2. setTimeout(() => {
      console.log("Hey");
    }, 1000);
    
  3. 这意味着在你的例子中http.createServer接受一个参数,一个本身带有两个参数的函数。

    箭头函数不等同于function () {}匿名函数,function () {}绑定自己的this,例如。

答案 1 :(得分:7)

这是ES6 Arrow功能:

(req, res) => {}

相当于:

function(req, res){}