NGXS - Может ли какая-то добрая душа объяснить мне этот инопланетный синтаксис? - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в концепции государственного управления и, конечно же, ngxs.Я также не уверен в своем TypeScript / JavaScript.В настоящее время я строю аутентификацию.Хорошо, что в официальной документации есть пример для некоторых действий по аутентификации, но я не могу понять некоторые вещи.https://ngxs.gitbook.io/ngxs/recipes/authentication

1) Что это?

const { token } = getState();

Это сокращение для

state = getState();
const token = state.token;

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Это называется деструктуризацией: 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()), которая возвращает то же самое.

0 голосов
/ 22 мая 2018

Это называется «деструктивное присваивание» из спецификации 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...