… (три точки) — самая крутая функция ES6, которую можно использовать с оператором SPREAD или REST.
Расширение: используется для разделения элементов массива или свойств объекта.
Rest: используется для объединения списка аргументов функции в массив.
###Оператор спреда###:
Оператор распространения используется для распространения значений массива или объекта в список отдельных значений. Давайте разберемся с примерами-
У нас есть встроенная функцияMath.max()
в JavaScipt, которая возвращает наибольшее число из списка. console.log(Math.max(1,23,58,74)); //74
Но мы не можем выполнить ту же операцию с массивом, поскольку Math.max()
function
принимает список числовых аргументов.
Хотя мы можем найти максимум, передавая arr[0], arr[1] , arr[2] в качестве аргумента в Math.max(), но это не будет работать, когда у нас есть большие числа в массиве.
С помощью оператора Spread мы можем решить эту проблему, передав …arr в Math.max()
. Здесь …(три точки) в массиве преобразовать массив в отдельное значение
В приведенных выше примерах мы использовали массив для демонстрации синтаксиса распространения, но подойдет любой итерируемый объект.
Например, здесь мы используем синтаксис расширения, чтобы превратить строку в массив символов:
Применение оператора расширения к объектам позволяет скопировать все свойства одного объекта в другой. Раньше мы создавали копию объекта с помощью
Object.assign(). Новая функциональность ES6 предоставляет такую же свободу с оператором Spread.
Мы можем выбрать любой из них, Object.assign() или оператор Spread, чтобы скопировать объект. Оператор распространения также используется для изменения объекта, как показано в примере ниже:
Функция updateFruit() возвращает новый объект, распространяя фрукты и обновляя значение. Если мы передаем новое свойство, оно автоматически добавит это свойство
На этом часть I оператора Spread and Rest заканчивается. Подробная информация об операторе REST, которая рассматривается во второй части. Я надеюсь, что это было полезно для вас.
По любым вопросам вы можете связаться со мной в LinkedIn.