NGXS - 某种灵魂可以向我解释这种外来语法

时间:2018-05-22 17:23:55

标签: javascript ecmascript-6

我是国家管理概念的新手,当然还有ngxs。我对TypeScript / JavaScript也没有那么自信。目前,我正在构建身份验证。官方文档有一些身份验证操作的例子,但我无法理解一些东西。 https://ngxs.gitbook.io/ngxs/recipes/authentication

1) 这是什么?

const { token } = getState();

的捷径
state = getState();
const token = state.token;

2 个答案:

答案 0 :(得分:1)

它被称为解构: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

如果您有对象,请说:

const something = {
   prop1:1,
   prop2:2,
   prop3:3
}

然后你可以写:

const {prop1} = something

您将获得名为prop1的本地常量,其值为something.prop1

现在,在您的示例中,只需为返回相同内容的函数(something)切换对象文字(getState())。

答案 1 :(得分:0)

从ES6规范

中称为“破坏分配”
  

解构赋值语法是一个JavaScript表达式   可以从数组或属性中解压缩值   对象,变成不同的变量。

示例:

var a, b, rest;
[a, b] = [10, 20];

console.log(a);
// expected output: 10

[a, b, ...rest] = [10, 20, 30, 40, 50];

console.log(b);
// expected output: [20]
console.log(rest);
// expected output: [30,40,50]

完整说明:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment