Параметры по умолчанию в JavaScript. Часть 2

Эта статья является продолжением предыдущей статьи про параметры по умолчанию в JavaScript. Теперь давайте рассмотрим несколько примеров, чтобы увидеть различные варианты установки значений по умолчанию для параметров функции.
Передача неопределенных значений
Следующая функция createDiv() создает в теле документа (body) новый элемент div с определенным стилем высоты, ширины и границы.
function createDiv (height = '100px', width = '100px', border = 'solid 1px red') {
let div = document.createElement ('div');
div.style.height = height;
div.style.width = width;
div.style.border = border;
document.getElementsByTagName ('body') [0] .appendChild (дела);
return div;
}
Следующий вызов функции не передает никаких аргументов, поэтому функция createDiv() использует значения по умолчанию для своих параметров.
createDiv();
Предположим, вы хотите использовать значения по умолчанию для параметров высоты и ширины и передать значение параметра границы. В этом случае вам необходимо передать неопределенные значения для высоты и ширины следующим образом:
createDiv (undefined, undefined, 'solid 5px blue');
JavaScript-движок выполняет аргумент по умолчанию во время вызова функции. Пример:
function put(toy, toyBox = []) {
toyBox.push(toy);
return toyBox;
}
console.log(put('Игрушка'));
// -> ['Игрушка']
console.log(put('Медвежонок'));
// -> ['Медвежонок'], вместо ['Игрушка','Медвежонок']
Параметр может принимать значение по умолчанию, которое является результатом функции.
Рассмотрим следующий пример:
function date(d = today()) {
console.log(d);
}
function today() {
return (new Date()).toLocaleDateString("ru-RU");
}
date();
Функция date() принимает один параметр, значением, по умолчанию которого является возвращаемое значение функции today(). Функция today() возвращает текеущую дату в строковом формате.
Мы можем использовать специальную функцию, для того чтобы сделать предаваемые аргументы обязательными. Если вызывающий объект не передает аргумент, который мы объявили как обязательный, мы выдаем ошибку следующим образом:
function requiredArg() {
throw new Error('The argument is required');
}
function add(x = requiredArg(), y = requiredArg()){
return x + y
}
add(10); // ошибка
add(10,20); // OK
Использование других параметров как значения по умолчанию
Вы можете присвоить параметру по умолчанию значение, которое ссылается на другие параметры функции, как показано в следующем примере:
function bar(x = 1, y = a, z = x + y) {
return x + y + z;
}
console.log(bar()); // 4
В функции bar() значение по умолчанию y является значением параметра x, а значением по умолчанию для параметра z является сумма x и y. Функция bar() возвращает сумму x, y и z ,
Теперь вы должны хорошо понимать параметры JavaScript по умолчанию и знать, как применять их для разработки более гибких функций.
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.