74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
|
---
|
||
|
title: Falsy Values
|
||
|
localeTitle: Valores de Falsía
|
||
|
---
|
||
|
## Descripción
|
||
|
|
||
|
Un valor falso es algo que se evalúa como FALSO, por ejemplo, al verificar una variable. Solo hay seis valores falsey en JavaScript: `undefined` , `null` , `NaN` , `0` `""` (cadena vacía), y `false` por supuesto.
|
||
|
|
||
|
## Comprobación de valores falsos en variables
|
||
|
|
||
|
Es posible verificar un valor falso en una variable con un condicional simple:
|
||
|
|
||
|
```javascript
|
||
|
if (!variable) {
|
||
|
// When the variable has a falsy value the condition is true.
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Ejemplos generales
|
||
|
|
||
|
```javascript
|
||
|
var string = ""; // <-- falsy
|
||
|
|
||
|
var filledString = "some string in here"; // <-- truthy
|
||
|
|
||
|
var zero = 0; // <-- falsy
|
||
|
|
||
|
var numberGreaterThanZero // <-- truthy
|
||
|
|
||
|
var emptyArray = []; // <-- truthy, we'll explore more about this next
|
||
|
|
||
|
var emptyObject = {}; // <-- truthy
|
||
|
```
|
||
|
|
||
|
## Diversión con matrices
|
||
|
|
||
|
```javascript
|
||
|
if ([] == false) // <-- truthy, will run code in if-block
|
||
|
|
||
|
if ([]) // <-- truthy, will also run code in if-block
|
||
|
|
||
|
if ([] == true) // <-- falsy, will NOT run code in if-block
|
||
|
|
||
|
if (![]) // <-- falsy, will also NOT run code in if-block
|
||
|
```
|
||
|
|
||
|
## Advertencia
|
||
|
|
||
|
Tenga en cuenta el tipo de datos al evaluar un valor en un contexto booleano. Si se pretende que el tipo de datos del valor sea un _número_ , la evaluación de verdad / falsa puede dar como resultado un resultado inesperado:
|
||
|
|
||
|
```javascript
|
||
|
const match = { teamA: 0, teamB: 1 }
|
||
|
if (match.teamA)
|
||
|
// The following won't run due to the falsy evaluation
|
||
|
console.log('Team A: ' + match.teamA);
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Una alternativa al caso de uso anterior es evaluar el valor utilizando `typeof` :
|
||
|
|
||
|
```javascript
|
||
|
const match = { teamA: 0, teamB: 1 }
|
||
|
if (typeof match.teamA === 'number')
|
||
|
console.log('Team A: ' + match.teamA);
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Más información
|
||
|
|
||
|
* **veraz** [Publicación de blog - Truthy & Falsey](http://james.padolsey.com/javascript/truthy-falsey/)
|
||
|
|
||
|
* [Falsía Glosario | MDN](https://developer.mozilla.org/en-US/docs/Glossary/Falsy)
|
||
|
|
||
|
* [Verdad y falsedad: cuando todo no es igual en JavaScript](https://www.sitepoint.com/javascript-truthy-falsy/)
|