但是有必要为这个变量取一个名字(我们知道它有时是多么困难:)),声明它等等。相反,设计了一种解构语法。所以我们知道该对象o有一个 field a,我们不想以某种不同的方式命名这个字段,但我们想使用它,就像使用a.
const { a } = o;a- 表示从对象中创建一个带有字段名称的变量o,因为我们知道有这样一个字段。如果没有,它将返回undefined。一般来说,语法更优美简洁。
let o = {a:1, b:2, c:3};
let aProp = o.a;
console.log(aProp);
let {a} = o;
console.log(a, aProp === a); // то же самое поле
let {f} = o;
console.log(f);
这称为解构。根据链接,首先是关于数组,下面是关于对象。换句话说,你有这样一个对象
const o = { a: 1, b: 2, c:3 }假设您需要从那里获取值
a。要做到这一点,你通常会做这样的事情let aProp = o.a;但是有必要为这个变量取一个名字(我们知道它有时是多么困难:)),声明它等等。相反,设计了一种解构语法。所以我们知道该对象
o有一个 fielda,我们不想以某种不同的方式命名这个字段,但我们想使用它,就像使用a.const { a } = o;a- 表示从对象中创建一个带有字段名称的变量o,因为我们知道有这样一个字段。如果没有,它将返回undefined。一般来说,语法更优美简洁。在您使用 express 的情况下,我们知道该字段给我们的任何一个
Router,我们都可以做类似的事情const express = require('express');const Router = express.Router();但是可以等等,就像你在一个例子中一样。文笔少,优美,简洁。
require('express');将返回一个具有相当多字段的对象。通常只需要几个。在你的情况下,它只是Router你可以在这里阅读更多关于解构的例子。