Синтаксис распространения и остальные параметры: выяснение их различий в ES2015
Навигация по нюансам синтаксиса распространения и параметра rest в ES2015 может быть умной - ошеломляющее усилие. В этом руководстве мы рассмотрим их противоположные роли в постоянно меняющемся ландшафте JavaScript.
Понимание синтаксиса расширения: от одного ко многим
Синтаксис расширения (обозначается ' ...') позволяет нам разложить итерируемый объект (например, массив) на его отдельные элементы. Он работает с одной переменной, разбивая ее на более мелкие части:
var abc = ['a', 'b', 'c'];
var def = ['d', 'e', 'f'];
var alpha = [ ...abc, ...def ];
console.log(alpha); // alpha will output ['a', 'b', 'c', 'd', 'e', 'f']
Используя синтаксис распространения с '...' перед 'abc' и 'def', мы фактически объединяем эти массивы в один объединенный массив.
Раскрытие параметра Rest: от многих к одному
Напротив, Параметр rest (которому также предшествует '...') захватывает несколько элементов из списка аргументов функции и объединяет их в один массив. Этот метод обычно используется, когда мы хотим обработать неизвестное количество аргументов:
function sum(...args) {
var sum = 0;
for (var i = 0; i Здесь '...args' действует как заполнитель для всех аргументов, передаваемых в функцию 'sum', которые затем сохраняются в массиве 'args'.
Ключевые различия: распространение и отдых
Хотя и синтаксис расширения, и параметр rest используют оператор '...', они служат разным целям:
- Синтаксис расширения расширяет итерируемый объект на отдельные элементы.
- Параметр Rest объединяет несколько аргументов в один массив.
По сути, синтаксис расширения помогает разбить переменную на части. на части, а параметр rest объединяет несколько переменных в единое целое.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3