Существуют различные способы сделать это в Javascript, хотя ни один из них не встроен. Самый простой шаблон:
function(option) {
option = option || "default";
// do stuff
}
Но, как отмечает @FelixKling, это не будет работать в вашем случае, так какзаменит любое значение false-y (включая явную установку аргумента на false
) значением по умолчанию.Для логических аргументов, которые вы хотите использовать по умолчанию true
, вам необходимо:
function(option) {
// default to "true"
option = option !== undefined ? option : true;
// do stuff
}
Когда вы имеете дело с более чем одним или двумя аргументами, лучшим вариантом часто является использование одного options
или config
аргумент и проверьте наличие свойств:
function(options) {
var arg1 = option.arg1 !== undefined ? false : true;
var arg2 = option.arg2 || "default";
// do stuff
}
Если вы используете библиотеку, такую как jQuery или подчеркивание, метод extend
позволяет довольно легко установить объект по умолчаниюзначения, а затем перезаписать их предоставленными значениями, если они существуют:
function(options) {
var defaults = {
arg1: true,
arg2: "default"
};
options _.extend(defaults, options);
// do stuff
}