Главная страница » JavaScript » 36. Параметры по умолчанию
Параметры по умолчанию в JavaScript позволяют задавать начальные значения для параметров функций. Если аргумент не передан или равен undefined
, параметр по умолчанию будет использоваться вместо него. Это помогает избежать ошибок, связанных с отсутствием аргументов, и делает код более гибким и читаемым.
В ES6 была введена возможность задавать параметры по умолчанию прямо в определении функции. Рассмотрим пример:
function greet(name = 'Гость') {
return `Привет, ${name}!`;
}
console.log(greet()); // Привет, Гость!
console.log(greet('Анна')); // Привет, Анна!
В этом примере, если функция greet
вызывается без аргумента, параметр name
будет иметь значение 'Гость'
.
Функция с параметрами по умолчанию
function calculateArea(width = 10, height = 5) {
return width * height;
}
console.log(calculateArea()); // 50
console.log(calculateArea(20)); // 100
console.log(calculateArea(20, 15)); // 300
Комбинирование параметров по умолчанию и обязательных параметров
function createUser(name, age = 18) {
return {
name: name,
age: age
};
}
console.log(createUser('Иван')); // { name: 'Иван', age: 18 }
console.log(createUser('Мария', 25)); // { name: 'Мария', age: 25 }
undefined
Если параметр передан как undefined
, будет использовано значение по умолчанию. Но если передан null
, параметр по умолчанию не будет использоваться.
function printMessage(message = 'Сообщение не указано') {
console.log(message);
}
printMessage(undefined); // Сообщение не указано
printMessage(null); // null
Параметры по умолчанию могут быть результатом вызова других функций или выражений.
function getDefaultValue() {
return 42;
}
function calculate(value = getDefaultValue()) {
return value * 2;
}
console.log(calculate()); // 84
console.log(calculate(10)); // 20
Параметры по умолчанию работают и в стрелочных функциях.
const multiply = (a = 1, b = 1) => a * b;
console.log(multiply()); // 1
console.log(multiply(5)); // 5
console.log(multiply(5, 2)); // 10
Неправильное использование параметров по умолчанию
Параметры по умолчанию должны идти после обязательных параметров.
function example(a = 1, b) {
return a + b;
}
console.log(example(5)); // Ошибка, b не определен
Правильный способ:
function example(a, b = 1) {
return a + b;
}
console.log(example(5)); // 6
Значение по умолчанию как объект или массив
При использовании объектов или массивов в качестве значений по умолчанию следует помнить, что они будут общими для всех вызовов функции.
function addItem(item, list = []) {
list.push(item);
return list;
}
console.log(addItem('яблоко')); // ['яблоко']
console.log(addItem('банан')); // ['яблоко', 'банан']
Параметры по умолчанию делают функции более гибкими и устойчивыми к отсутствию аргументов. Они помогают избежать ошибок и упрощают код, уменьшая необходимость в дополнительных проверках на наличие аргументов.
Напишите функцию greet
, которая принимает два параметра: name
и greeting
, с параметром по умолчанию для greeting
равным 'Привет'
. Функция должна возвращать строку, состоящую из приветствия и имени.
Напишите функцию sum
, которая принимает три параметра: a
, b
и c
, с параметрами по умолчанию для b
и c
равными 0
. Функция должна возвращать сумму этих трех чисел.
Пример решения:
// Задание 1
function greet(name, greeting = 'Привет') {
return `${greeting}, ${name}!`;
}
console.log(greet('Анна')); // Привет, Анна!
console.log(greet('Анна', 'Здравствуйте')); // Здравствуйте, Анна!
// Задание 2
function sum(a, b = 0, c = 0) {
return a + b + c;
}
console.log(sum(5)); // 5
console.log(sum(5, 10)); // 15
console.log(sum(5, 10, 15)); // 30
Этот урок поможет вам лучше понять, как использовать параметры по умолчанию в JavaScript, и научит избегать распространенных ошибок при их использовании.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.