En JavaScript es posible utilizar el operador ||
para definir valores por defecto. Es decir si la expresión es 0
, ''
, null
, false
o undefined
, se tomará el valor definido por defecto.
Veamos como ejemplo el siguiente código:
function imprimirFruta(fruta) {
console.log(fruta)
}
imprimirFruta("manzana") // 'manzana'
imprimirFruta("mango") // 'mango'
imprimirFruta() // undefined
imprimirFruta(0) // 0
imprimirFruta('') // ''
imprimirFruta(null) // null
imprimirFruta(undefined) // undefined
En el ejemplo anterior tenemos una simple función que imprime en consola la 'fruta' que recibe. Sin embargo, si se recibe algún valor falsy
como 0
, ''
, null
, false
o undefined
estos son los que se imprimen.
Esto puede ser prevenido usando el operador ||
:
function imprimirFruta(fruta) {
// fruta = fruta || 'pera'
// console.log(fruta)
console.log(fruta || 'pera')
}
imprimirFruta('manzana') // 'manzana'
imprimirFruta('mango') // 'mango'
imprimirFruta() // 'pera'
imprimirFruta(0) // 'pera'
imprimirFruta('') // 'pera'
imprimirFruta(null) // 'pera'
imprimirFruta(undefined) // 'pera'
Es bueno tener precaución al usar el operador ||
debido a que si en algún momento se desea un valor como 0
o ''
y se tiene definido un valor por defecto, este será el que se use en cambio.
Otra forma de definir valores por defecto es a través de los parámetros de una función de lo cual escribí un artículo llamado Parámetros por defecto en JavaScript.
Saludos :smile: