Skip to content

Definindo valores padrão em JavaScript

Em JavaScript, é possível usar o operador || para definir valores padrão. Ou seja, se a expressão for avaliada como 0, '', null, false ou undefined, o valor padrão definido será usado em vez disso.

Vamos analisar o seguinte exemplo de código:

javascript
function printFruit(fruit) {
  console.log(fruit);
}

printFruit('apple'); // 'apple'
printFruit('mango'); // 'mango' 
printFruit(); // undefined
printFruit(0); // 0
printFruit(''); // ''
printFruit(null); // null
printFruit(undefined); // undefined

No exemplo acima, temos uma função simples que registra no console a 'fruta' que recebe. No entanto, se receber um valor falsy, como 0, '', null, false ou undefined, esses serão os valores impressos.

Isso pode ser evitado usando o operador ||:

javascript
function printFruit(fruit) {
  // fruit = fruit || 'pear'
  // console.log(fruit)

  console.log(fruit || 'pear');
}

printFruit('apple'); // 'apple'
printFruit('mango'); // 'mango'
printFruit(); // 'pear'
printFruit(0); // 'pear' 
printFruit(''); // 'pear'
printFruit(null); // 'pear'
printFruit(undefined); // 'pear'

É bom ter cautela ao usar o operador ||, porque se em algum momento um valor como 0 ou '' for desejado e um valor padrão for definido, o padrão será usado em vez disso.

Outra maneira de definir valores padrão é através de parâmetros de função, sobre os quais escrevi um artigo chamado Parâmetros padrão em JavaScript.