Параметры функции | Function parameters

В ES6 есть два нововведения касающихся параметров функций:

  • default parameters - параметры по умолчанию
function greet(greeting = 'Hello', name = 'friend') {
    console.log(`${greeting} ${name}`);
}
greet('Hi', 'Bill');		// Hi Bill
greet('Hi');				// Hi friend
greet(undefined, 'Bill');	// Hello Bill
greet();					// Hello friend
  • rest parameters - оставшиеся параметры. Если оператор разворота разворачивает массив и предоставляет элементы поотдельности то синтаксис оставшихся параметров превращает отдельные элементы в массив.
function sum(...values) {
    console.log(values instanceof Array); // true
    let sum = 0;
    values.forEach(function (value) {
        sum += value;
    });
    console.log(sum); // 24
}
sum(5, 7, 2, 10);