let a = 12, b = 3;
[a, b] = [b, a];
Правильный ответ на вопрос, что делает код let a = 12, b = 3; [a, b] = [b, a];
- он меняет местами значения внутри переменных a
и b
, не используя дополнительные переменные. Называемый destructuring assignment или деструктурирующее присваивание, этот метод представляет из себя нововведение стандарта JavaScript ES6.
Прежде новые значения присваивались другим переменным с помощью временной переменной, что выглядело следующим образом:
let a = 12;
let b = 3;
let temp;
temp = a;
a = b;
b = temp;
Однако благодаря деструктурированию в ES6, мы можем обойтись без временной переменной и сделать перестановку в одну строчку:
let a = 12;
let b = 3;
[a, b] = [b, a];
В результате этой операции переменной a
присваивается значение b
, а b
- значение a
. Таким образом, в значении a
становится 3
, а b
- 12
.
Обратите внимание, что порядок переменных в деструктурирующем присваивании имеет значение. [b, a] = [a, b];
также изменит значения a
и b
, но результат будет другим.
Этот способ полезен во многих случаях, включая работу с массивами, где мы можем присваивать значения по индексу, а также с объектами, где мы присваиваем значения по ключу. Деструктурирующее присваивание - это мощный инструмент JavaScript, который делает ваш код более эффективным и читаемым.