不清楚这种语法意味着什么
const { headers, method, url } = request;
发现于此{t} https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/
答案 0 :(得分:5)
它被称为destructuring operator
。
解构赋值语法是一个JavaScript表达式 可以从数组或属性中解压缩值 对象,变成不同的变量。
简单示例:
var obj={
"a":2,
"b":3
}
let {a,b}=obj;
console.log(a,b);

从您的示例中,我看到request
是一个对象,语句被转换为
headers = request.headers
但您也可以将destructuring operator
应用于数组。
var foo = [1, 2, 3];
var [one, two, three] = foo;
console.log(one);
console.log(two);
console.log(three);

答案 1 :(得分:2)
const headers = request[0];
const method = request[1];
const url = request[2];
如果请求是对象,
const headers = request.headers;
const method = request.method;
const url = request.url;
答案 2 :(得分:1)
如果request是一个对象,则表示:
const headers = request.headers;
const method = request.method;
const url = request.url;
答案 3 :(得分:1)
这叫做解构。在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment查看 IE浏览器。您可以在对象内部获得嵌套属性。在你的情况下它是res
通过将道具破坏为局部变量而不是像request.headers那样编写整个命名空间,从对象访问道具会更方便