You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
La mayoría de las veces,losoperadores y funciones convierten automáticamente los valores quese les pasanal tipocorrecto. Esto es llamado "conversión de tipo".
La mayoría de las veces, operadores y funciones convierten automáticamente los valores querecibenal tipoque esperan.
Por ejemplo, `alert` convierte automáticamente cualquier valor a string para mostrarlo. Las operaciones matemáticas convierten los valores a números.
También hay casos donde necesitamos convertir de manera explícita un valor al tipo esperado.
```smart header="Aún no hablamos de objetos"
En este capítulo nohablamos deobjetos. Por ahora, solamente veremos los valores primitivos.
En este capítulo nocubrimosobjetos. Por ahora, solamente veremos valores primitivos.
Más adelante, después dehaberlos tratado, veremos en el capítulo <info:object-toprimitive> cómo funciona la conversión de objetos.
Más adelante, después deaprender objetos, veremos en el capítulo <info:object-toprimitive> cómo funciona la conversión.
```
##ToString
##Conversión a String
La conversión a string ocurre cuando necesitamos la representaciónen forma de texto de un valor.
La conversión a string ocurre cuando necesitamos la representacióntextual de un valor.
Por ejemplo, `alert(value)` lo hace para mostrarel valor como texto.
Por ejemplo, `alert(value)` lo hace para mostrar`value` como texto.
También podemos llamar a la función `String(value)` para convertirun valor a string:
También podemos llamar a la función `String(value)` para convertir`value` a string:
La conversión a string es bastante obvia. El boolean `false` se convierte en `"false"`, `null` en `"null"`, etc.
##ToNumber
##Conversión numérica
La conversión numérica ocurre automáticamente en funciones matemáticas y expresiones.
Por ejemplo, cuando sedividen valores no numéricos usando`/`:
Por ejemplo, cuando seaplica la división`/` a valores no numéricos:
```js run
alert( "6" / "2" ); // 3, los strings son convertidos a números
```
Podemos usar la función `Number(value)` para convertir de forma explícita un valor a un número:
Podemos usar la función `Number(value)` para convertir de forma explícita `value` a un número:
```js run
let str = "123";
Expand All
@@ -51,7 +52,8 @@ let num = Number(str); // se convierte en 123
alert(typeof num); // number
```
La conversión explícita es requerida usualmente cuando leemos un valor desde una fuente basada en texto, como lo son los campos de texto en los formularios, pero que esperamos que contengan un valor numérico.
Usualmente, se requiere la conversión explícita cuando leemos un valor desde una fuente basada en texto, como los formularios, si esperamos que contenga un número.
Si el string no es un número válido, el resultado de la conversión será `NaN`. Por ejemplo:
Expand All
@@ -68,33 +70,22 @@ Reglas de conversión numérica:
|`undefined`|`NaN`|
|`null`|`0`|
|<code>true and false</code> | `1` y `0` |
| `string` | Se eliminan los espacios(incluye espacios, tabs `\t`, saltos de línea `\n`, etc.)al inicio y final del texto. Si el string resultante es vacío, el resultado es `0`, en caso contrario el número es "leído" del string. Un error devuelve `NaN`. |
| `string` | Se eliminan los espaciosen blanco (incluyendo espacios, tabs `\t`, saltos de línea `\n`, etc.)del inicio y final del texto. Si el string resultante es vacío, el resultado es `0`, en caso contrario el número es "leído" del string. Un error devuelve `NaN`. |
Ejemplos:
```js run
alert( Number(" 123 ") ); // 123
alert( Number("123z") ); // NaN (error al leerun númeroen "z")
alert( Number("123z") ); // NaN (error al leerel númerocuando encuentra "z")
alert( Number(true) ); // 1
alert( Number(false) ); // 0
```
Ten en cuenta que `null` y `undefined` se comportan de distinta manera aquí: `null` se convierte en `0` mientras que `undefined` se convierte en `NaN`.
````smart header="Adición '+' concatena strings"
Casi todas las operaciones matemáticas convierten valores a números. Una excepción notable es la suma `+`. Si uno de los valores sumados es un string, el otro valor es convertido a string.
Es importante notar que `null` y `undefined` se comportan de distinta manera aquí: `null` se convierte en `0` mientras que `undefined` se convierte en `NaN`.
Luego,losconcatena (une):
La mayoría delosoperadores matemáticos también ejecutan dicha conversión, lo veremos en el siguiente capítulo.
```js run
alert( 1 + '2' ); // '12' (string a la derecha)
alert( '1' + 2 ); // '12' (string a la izquierda)
```
Esto ocurre solo si al menos uno de los argumentos es un string, en caso contrario los valores son convertidos a número.
````
## ToBoolean
## Conversión booleana
La conversión a boolean es la más simple.
Expand DownExpand Up
@@ -124,14 +115,13 @@ alert( Boolean(" ") ); // sólo espacios, también true (cualquier string no vac
```
````
## Resumen
Las tres conversiones de tipo más usadas son a string, a número y a boolean.
**`ToString`** -- Ocurre cuandose muestra algo. Se puede realizar con `String(value)`. La conversión a string es usualmenteobvia para los valores primitivos.
**`Conversión a String`** -- Ocurre cuandomostramos un valor. Se puede realizar con `String(value)`. La conversión a string es usualmenteevidente para los valores primitivos.
**`ToNumber`** -- Ocurre en operaciones matemáticas. Se puede realizar con `Number(value)`.
**`Conversión numérica`** -- Ocurre en operaciones matemáticas. Se puede realizar con `Number(value)`.
La conversión sigue las reglas:
Expand All
@@ -142,7 +132,7 @@ La conversión sigue las reglas:
|<code>true / false</code> | `1 / 0` |
| `string` | El string es leído "como es", los espacios en blanco (incluye espacios, tabs `\t`, saltos de línea `\n`, etc.) tanto al inicio como al final son ignorados. Un string vacío se convierte en `0`. Un error entrega `NaN`. |
**`ToBoolean`** -- Ocurren en operaciones lógicas. Se puede realizar con `Boolean(value)`.
**`Conversión booleana`** -- Ocurren en operaciones lógicas. Se puede realizar con `Boolean(value)`.
Sigue las reglas:
Expand All
@@ -152,7 +142,7 @@ Sigue las reglas:
|cualquier otro valor| `true` |
La mayoría de estas reglas son fáciles de entender y recordar. Las excepciones más notables dondela gente suele cometer errores son:
La mayoría de estas reglas son fáciles de entender y recordar. Las excepciones más notables dondese suele cometer errores son:
- `undefined` es `NaN` como número, no `0`.
- `"0"` y textos que solo contienen espacios como `" "` son `true` como boolean.
Expand Down
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.