Удовлетворительный ECMAScript 6 Разрушающие сценарии использования
Почему деструктуризация была введена в ECMAScript 6?
3 ответа
Вот еще один: Map#entries
возвращает итератор (key, value)
кортежи. Самый элегантный способ их перебрать - использовать деструктуризацию:
for (var [key, value] of map.entries()) {
// ...
}
Тривиальный пример:
var {forEach} = Array.prototype;
forEach.call(document.querySelector(...
Разрушение аргумента это весело
function ({opt1 = true, opt2 = false, opt3} = {}) { ...
не уверен, почему я хотел бы использовать
[x, y] = [y, x]
,
Поскольку использование дополнительной переменной two swap two значения является громоздким, и JS с ее вызовами функции передачи по значению не позволяет вам написать swap
функция.
наиболее убедительные варианты использования функции деструктуризации в ECMAScript 6?
Что я могу думать, это в основном будет использоваться для
возвращаемые значения нескольких функций
function rgb2hsv(r, g, b) { … return {h, s, v}; } … var {h, s, v} = rgb2hsv(…);
Promise.spawn(function* () { … var [a, b] = yield [async1(), async2()]; … })
импортировать модули, например что-то вроде
var {abs, trunc, round} = require('Math')