В JavaScript параметры по умолчанию позволяют вам устанавливать значения по умолчанию для параметров функции в случае, если значение не указано или значение неопределенное. Вот несколько методов, связанных с параметрами JavaScript по умолчанию:
-
Значения параметров по умолчанию.
Вы можете присвоить значение по умолчанию непосредственно параметру функции с помощью оператора присваивания (=). Если аргумент не передан или не определен, будет использовано значение по умолчанию.Пример:
function greet(name = "Guest") { console.log(`Hello, ${name}!`); } greet(); // Output: Hello, Guest! greet("John"); // Output: Hello, John!
-
Проверка на неопределенность:
Вы можете вручную проверить, является ли аргумент неопределенным, и назначить значение по умолчанию внутри тела функции.Пример:
function greet(name) { name = name !== undefined ? name : "Guest"; console.log(`Hello, ${name}!`); } greet(); // Output: Hello, Guest! greet("John"); // Output: Hello, John!
-
Использование логического оператора ИЛИ:
Логический оператор ИЛИ (||) можно использовать для установки значений по умолчанию. Если аргумент ложный (неопределенный, нулевой, ложный, 0, пустая строка), используется значение по умолчанию.Пример:
function greet(name) { name = name || "Guest"; console.log(`Hello, ${name}!`); } greet(); // Output: Hello, Guest! greet("John"); // Output: Hello, John!
-
Использование тернарного оператора.
Тернарный оператор можно использовать для установки значений по умолчанию на основе условия.Пример:
function greet(name) { name = typeof name !== "undefined" ? name : "Guest"; console.log(`Hello, ${name}!`); } greet(); // Output: Hello, Guest! greet("John"); // Output: Hello, John!
-
Использование объекта «аргументы».
Объект «аргументы» можно использовать для проверки того, является ли параметр неопределенным, и присвоения значения по умолчанию.Пример:
function greet(name) { name = typeof name !== "undefined" ? name : arguments[0] || "Guest"; console.log(`Hello, ${name}!`); } greet(); // Output: Hello, Guest! greet("John"); // Output: Hello, John!