Уничтожение назначения для обмена значениями в ES6 - PullRequest
0 голосов
/ 04 февраля 2020

Я пересматриваю JavaScript и пришел к следующему примеру ES6.

let a = 8, b = 6;
// change code below this line
[a,b] = [b,a];
// change code above this line
console.log(a); // a is 6
console.log(b); // b is 8

Невозможно понять, как это работает, поскольку у нас есть оператор присваивания с обоими боковыми массивами.

1 Ответ

0 голосов
/ 04 февраля 2020

Разрушение в основном разделяет массив или объект на отдельные переменные. Вот что происходит на левой стороне. Пример:

var foo = [1, 2]
var [a, b] = foo; // creates new variables a and b with values from the array foo

console.log(a); // prints "1"
console.log(b); // prints "2"

Справа вы создаете массив со значениями [b, a], который будет деструктурирован. В результате две переменные переключаются.

...