您可以在这段代码的第一行看到“(...)=>”符号:
const server = http.createServer((req,res) => {
res.statusCode = 200;
res.setHeader('content-type', 'text/plain');
res.end('Hello World');
});
It's an 箭头函数 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions,ES6中新定义的。
一个箭头函数表达式 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function具有比函数表达式更短的语法,并且不绑定自己的this https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this, 论点 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments, super https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super, or 新目标 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target。箭头函数总是匿名的 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name。这些函数表达式最适合非方法函数,并且不能用作构造函数。
它们通常只是编写匿名函数的更简短的方式function () {}
,您可能已经熟悉了。
这些代码片段做同样的事情:
setTimeout(function () {
console.log("Hey");
}, 1000);
setTimeout(() => {
console.log("Hey");
}, 1000);
这意味着在你的例子中http.createServer
接受一个参数,一个本身带有两个参数的函数。
箭头函数不等于function () {}
匿名函数,function () {}
绑定自己的this
, 例如。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)