你可以看到"(...)=>"此代码的第一行中的符号:
const server = http.createServer((req,res) => {
res.statusCode = 200;
res.setHeader('content-type', 'text/plain');
res.end('Hello World');
});
答案 0 :(得分:7)
它是arrow function,在ES6中新定义。
箭头function expression的语法短于函数表达式,并且不绑定自己的this,arguments,super或new.target。箭头函数始终为anonymous。这些函数表达式最适合非方法函数,不能用作构造函数。
它们通常只是编写匿名函数function () {}
的一种较短方式,您可能已经熟悉它。
这些代码片段做同样的事情:
setTimeout(function () {
console.log("Hey");
}, 1000);
setTimeout(() => {
console.log("Hey");
}, 1000);
这意味着在你的例子中http.createServer
接受一个参数,一个本身带有两个参数的函数。
箭头函数不等同于function () {}
匿名函数,function () {}
绑定自己的this
,例如。
答案 1 :(得分:7)
这是ES6 Arrow功能:
(req, res) => {}
相当于:
function(req, res){}