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:
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 ||
:
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.