Как установить значение по умолчанию для необязательного аргумента в Javascript?
Я пишу функцию Javascript с необязательным аргументом, и я хочу присвоить необязательный аргумент значение по умолчанию. Как я могу присвоить ему значение по умолчанию?
Я думал, что это будет так, но это не сработает:
function(nodeBox,str = "hai")
{
// ...
}
Ответы
Ответ 1
Если str
имеет значение null, undefined или 0, этот код установит его на "hai"
function(nodeBox, str) {
str = str || "hai";
.
.
.
Если вам также нужно пройти 0, вы можете использовать:
function(nodeBox, str) {
if (typeof str === "undefined" || str === null) {
str = "hai";
}
.
.
.
Ответ 2
Обновление ES6 - ES6 (спецификация ES2015) позволяет параметры по умолчанию
В среде ES6 (ES015) будет отлично работать следующее:
function(nodeBox, str="hai")
{
// ...
}
Могу ли я получить ад Да!?!
Ответ 3
Вы также можете сделать это с помощью ArgueJS:
function (){
arguments = __({nodebox: undefined, str: [String: "hai"]})
// and now on, you can access your arguments by
// arguments.nodebox and arguments.str
}