这个javascript语法是什么意思:const {headers,method,url} = request;

时间:2017-10-30 11:36:11

标签: javascript node.js

不清楚这种语法意味着什么

const { headers, method, url } = request;

发现于此{t} https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/

4 个答案:

答案 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那样编写整个命名空间,从对象访问道具会更方便