Mejor JavaScript: primitivos

Como cualquier tipo de aplicación, las aplicaciones JavaScript también deben estar bien escritas.

De lo contrario, nos encontraremos con todo tipo de problemas más adelante.

En este artículo, veremos formas de mejorar nuestro código JavaScript.

Conversión de objetos en primitivas

Los objetos se pueden convertir en números con el método valueOf .

Por ejemplo, podemos escribir:

luego vemos 5 registrados.

Podemos convertir un objeto en una cadena con:

Entonces obtenemos:

registrado.

Si un objeto tiene los métodos valueOf y toString , entonces no es obvio cuál se ejecutará.

Entonces, si tenemos:

Luego vemos & # x27; foobar & # x27; registrado.

Entonces sabemos que valueOf se ejecutará si tanto valueOf y toString están presentes.

valueOf está diseñado para usarse con objetos que representan valores numéricos como objetos Number .

Para estos objetos, toString y valueOf son coherentes.

Ambos devuelven la representación de cadena de un número.

La coerción sobre cadenas es mucho más común que la coerción sobre números.

Es mejor evitar valueOf a menos que el objeto sea una abstracción de números.

Otro tipo de coerción se conoce como veracidad.

El || y & amp; & amp; funcionan con valores booleanos, pero pueden aceptar cualquier cosa.

Si un valor es veraz, se les obliga a true .

De lo contrario, son falsos y se les obliga a false .

false , 0, -0, “”, NaN , null y undefined son falsos.

Los demás valores son veraces.

El operador || nos permite devolver un valor predeterminado si el primer operando es falso.

Por ejemplo, en lugar de escribir:

o:

Podemos escribir:

El operador || toma todos los valores falsos y devuelve el segundo operando si el primero es falso.

Los primitivos son mejores que los envoltorios de objetos

Los primitivos son mejores que los envoltorios de objetos.

JavaScript tiene varios tipos de valores primitivos.

Incluyen booleanos, números, cadenas, null y undefined .

null se informa como & # x27; object & # x27; con el operador typeof pero se define como un tipo separado en el ES estándar.

La biblioteca estándar de JavaScript también proporciona constructores para estos objetos.

Entonces, podemos escribir:

o:

Podemos extraer un carácter con los corchetes.

Por ejemplo, podemos escribir:

y obtenemos & # x27; o & # x27; .

Pero si tiene:

devuelve & # x27; object & # x27; .

Pero si tenemos:

luego obtenemos & # x27; string & # x27; .

Y si tenemos:

y si escribimos:

devuelve false ya que las referencias son diferentes.

Solo puede ser igual a sí mismo.

Como podemos ver, este es un problema que tenemos con los objetos envoltorios de cadenas y otros envoltorios primitivos.

Conclusión

No deberíamos usar objetos envoltorios primitivos.

No son útiles en nuestro código.