Trabajar con cadenas primitivas, números y valores booleanos

No se deje engañar por el hecho de que la cadena, el número y los literales booleanos se pueden tratar como un objeto con propiedades (por ejemplo,., true.toString ()). Cuando estos valores primitivos se tratan como objetos al intentar acceder a sus propiedades, JavaScript creará un objeto envoltorio a partir del constructor asociado de la primitiva, de modo que se pueda acceder a las propiedades y métodos del objeto envoltorio.

Una vez que se ha accedido a las propiedades, el objeto contenedor se descarta. Esta conversión nos permite escribir código que lo haría parecer como si un valor primitivo fuera, de hecho, un objeto. A decir verdad, cuando se trata como un objeto en el código, JavaScript lo convertirá en un objeto para que el acceso a la propiedad funcione, y luego lo convertirá en un valor primitivo una vez que se devuelva un valor. La clave a tener en cuenta aquí es lo que está ocurriendo, y que JavaScript está haciendo esto por ti entre bastidores.


Muestras de valor primitivo

Aquí hay algunas muestras para demostrar lo que estoy hablando:

Muestra de cadena: sample56.html

 

Número de muestra: sample57.html

 

Muestra booleana: sample58.html

 

Al acceder directamente a una propiedad en un número primitivo (no almacenado en una variable), primero debe evaluar el número antes de que el valor se trate como un objeto (por ejemplo,., (1) .toString (); o 1… toString ();). ¿Por qué dos puntos? El primer punto se considera un decimal numérico, no un operador para acceder a las propiedades del objeto.


Normalmente debería usar cadenas primitivas, números y valores booleanos

Los valores literales / primitivos que representan una cadena, número o Boolean son más rápidos de escribir y son más concisos en la forma literal.

Deberías usar el valor literal debido a esto. Además, la precisión de la tipo de el operador depende de cómo se crea el valor (invocación de literal contra constructor). Si creas una cadena, número u objeto booleano, el tipo de El operador reporta el tipo como un objeto. Si usas literales, el tipo de el operador devuelve un nombre de cadena del tipo de valor real (por ejemplo,., typeof 'foo' // devuelve 'cadena').

Demuestro este hecho en el siguiente código..

Muestra: sample59.html

 

Conclusión

Si su programa depende de la tipo de operador para identificar la cadena, el número o los valores booleanos en términos de esos tipos primitivos, debe evitar Cuerda, Número, y Booleano constructores.