Middle+
Yazılan kodda ES6 standardından hangi yenilikler kullanılıyor? arguments nesnesi nedir ve rest parametrelerinden nasıl farklıdır?
sobes.tech yapay zeka
AI'dan gelen yanıt
В стандарте ES6 (ECMAScript 2015) появились несколько важных нововведений, которые часто используются в современном JavaScript-коде:
- Rest-параметры (
...args) — позволяют собрать произвольное количество аргументов функции в массив. - Стрелочные функции — сокращённый синтаксис функций с лексическим
this. - Деструктуризация — удобный способ извлечения значений из массивов и объектов.
- Шаблонные строки — для удобного форматирования строк.
Объект arguments — это специальный объект, доступный внутри всех обычных функций, который содержит все переданные аргументы. Он похож на массив, но не является настоящим массивом (нет методов массива, например, map).
Отличия arguments от rest-параметров:
argumentsсуществует только в обычных функциях, в стрелочных функциях его нет.arguments— не массив, а массивоподобный объект; rest-параметры — настоящий массив.- Rest-параметры позволяют явно указать, какие аргументы собирать, и работают только с оставшимися параметрами.
- Rest-параметры более удобны и современны, их рекомендуется использовать вместо
arguments.
Пример с rest-параметрами:
function sum(...numbers) {
return numbers.reduce((acc, n) => acc + n, 0);
}
console.log(sum(1, 2, 3)); // 6
Использование arguments:
function sum() {
let total = 0;
for(let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3)); // 6