// у нас есть массив с именем и фамилией
let arr = ["Ilya", "Kantor"]
// деструктурирующее присваивание
// записывает firstName=arr[0], surname=arr[1]
let [firstName, surname] = arr;
alert(firstName); // Ilya
alert(surname); // Kantor
就个人而言,我喜欢它的这种用法 - 从函数返回许多变量
function f() {
let v1 = "dsfsdf";
let v2 = 5;
return {v1, v2};
}
// При одинаковых именах полей объекта и переменных
let {v1, v2} = f();
// при разных
let {v1:valueA, v2:valueB} = f();
在这种情况下,选择了一个不完全成功的术语翻译
destructuring
。不幸的是,分解一词在一般理论中已经有了一个完善的定义:
它更多地适用于架构,而不是一种语言的特定功能。
在当前的文章中,是的—— (对象的)分解与(对象的)解构是同义词。
非规范定义,复制自https://learn.javascript.ru/destructuring-assignment
一个例子。数组解构:
就个人而言,我喜欢它的这种用法 - 从函数返回许多变量