Как установить значение по умолчанию для необязательного аргумента в 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"; 
  }
.
.
.

Ответ 3

Вы также можете сделать это с помощью ArgueJS:

function (){
  arguments = __({nodebox: undefined, str: [String: "hai"]})

  // and now on, you can access your arguments by
  //   arguments.nodebox and arguments.str
}