Javascript Tipos de envoltura primitiva | Explicado

Javascript Tipos de envoltura primitiva | Explicado
Siempre que se lea un valor primitivo en un programa, JavaScript crea automáticamente un objeto para el tipo primitivo correspondiente conocido como el tipo de envoltura primitiva. Después de crear el tipo de envoltura primitiva, JavaScript invoca el método especificado y elimina inmediatamente la instancia desde la memoria. De esta manera, los valores primitivos se consideran livianos en comparación con los objetos regulares.

JavaScript ofrece tipos de envoltura primitiva para el "cadena","número","booleano","Empezando", y "símbolo"Tipos de datos, lo que facilita el uso de estos valores primitivos.

Este artículo explicó Tipos de envoltura primitiva de JavaScript, Pero antes de eso, veamos los tipos de datos primitivos.

Tipo de datos primitivos de JavaScript

Tipos de datos primitivos son los predefinido o incorporado Tipos de datos compatibles con el lenguaje de programación de JavaScript. Con frecuencia se conoce como el nivel más bajo de una implementación de lenguaje informático.

Los tipos de datos primitivos no pueden ser un objeto ni los métodos. Además, los valores primitivos no se pueden modificar ya que son "inmutable". Puede reasignar una variable con un nuevo valor primitivo pero no alterar el existente.

JavaScript tiene siete tipos de datos primitivos: número, booleano, Empezando, cadena, símbolo, nulo, y indefinido.

La sección dada a continuación demostrará los tipos de datos primitivos en detalle.

Cadena tipo de datos primitivos

En JavaScript, el "cadena"El tipo de datos primitivos está representado por la secuencia de caracteres agregados dentro del único "o citas dobles "".

Ejemplo

Let String1 = 'Tipo de datos primitivos';
typeOf String1;

Producción

Tipo de datos primitivo de número

Puedes utilizar el "número"Tipos de datos primitivos para almacenar valores decimales y no decimales en JavaScript.

Ejemplo

Let Number1 = 090078601;
typeOf Number1;

Producción

Tipo de datos primitivo de Bigint

"Empezando" y "númeroLos datos son bastante similares; Sin embargo, Bigint le permite presentar los valores enteros mayores que (253). Para crear un valor de tipo de datos primitivo Bigint ","norte"Se adjunta al final del número de la siguiente manera:

Ejemplo

Let BigInteger = 9999999999998872553627n;
typing biginteger;

Producción

Tipo de datos primitivos booleanos

JavaScript "booleano"El tipo de datos primitivos comprende dos valores: verdadero o FALSO.

Ejemplo

booleanval = verdadero;
typeof booleanval;

Producción

Tipo de datos primitivo del símbolo

"símbolo"Es un valor de tipo de datos primitivo que se puede generar invocando el"Símbolo"Función, que devuelve un"único" valor. La función de símbolo acepta una descripción de cadena como un argumento que se imprimirá cuando recupere el valor del símbolo.

Ejemplo

Sea z = símbolo ("Hemos creado un valor de símbolo");
typeOf z;

Producción

Tipo de datos primitivos indefinidos

El "indefinido"El tipo de datos primitivos significa que una variable se declara pero aún no se define.

Ejemplo

Sea Y;
typeOf y;

Producción

Tipo de datos primitivo nulo

"nulo"Es un tipo de datos que se utiliza para representar"desaparecido" o "desconocido" valores. El "tipo de"Operador Devuelve"objeto"Como el tipo de"nulo", pero recuerda, nulo es un valor primitivo, no un objeto.

Ejemplo

Sea x = nulo;
typeof x;

Producción

En este punto, ha entendido qué son los tipos de datos primitivos; Ahora, aprenderemos sobre el concepto detrás de acceder a propiedades o métodos de valores primitivos.

Clase de envoltura primitiva de JavaScript

Los valores de tipo de datos primitivos se pueden manipular utilizando la notación de objetos. Para este propósito, JavaScript ha definido las clases de objetos correspondientes para cada uno de los valores primitivos, excepto para "nulo" y "indefinido". Estas clases de envoltura primitiva se consideran "envolturas"Alrededor de los tipos de datos primitivos de JavaScript.

Otro punto importante para discutir es que las clases de envoltura se utilizan para almacenar el mismo valor tanto externamente como internamente; Sin embargo, las instancias u objetos de las clases de envoltorio seguirán siendo no estimitivos en caso de declaración de objetos explícitos.

Objeto de envoltura primitiva de JavaScript

Un JavaScript objeto de envoltura primitiva comprende valores primitivos, y también proporciona métodos y propiedades para manipular los valores.

Por ejemplo, un "cadena"El valor primitivo se utiliza en un contexto de objeto al acceder a sus propiedades o métodos relacionados. En este caso, JavaScript genera internamente un primitivo "envolturaObjeto para ese tipo de envoltorio primitivo de cadena específico. Luego, el valor de cadena primitiva se agrega en el objeto de envoltura de cadena creada, que tiene sus métodos y propiedades. Este objeto de envoltorio creado automáticamente se elimina después de invocar el método o propiedad especificada.

Los objetos de envoltura primitiva de JavaScript también se pueden crear manualmente utilizando el "nuevo"Operador. Estos objetos de envoltura permanecen en la memoria hasta que se apaga su alcance. Además, los objetos de envoltorio primitivos creados manualmente son de los "objeto" tipo.

Javascript Tipo de envoltura primitiva

El objeto de envoltura de script JavaScript creado automáticamente se conoce como "Tipo de envoltura primitiva". JavaScript ofrece tipos de envoltura primitiva para el "cadena","número","booleano","Empezando", y "símbolo"Tipos de datos, lo que facilita el uso de estos valores primitivos.

Ejemplo: JavaScript Primitive Wrapper Tipo

En el ejemplo dado a continuación, el "idioma"La variable contiene"Javascript"Como su valor de cadena primitiva. Esta variable no tiene acceso al "subcadena ()" método; Sin embargo, todavía recupera la subtracción del valor primitivo especificado:

Let Language = 'JavaScript';
Str1 = lenguaje.subcadena (4);
consola.log ('El tipo de envoltura STR1 es:' + typeof str1);
consola.log (str1);

Producción

El código anterior está funcionando perfectamente, y ahora debe preguntarse cómo "idioma"La variable invocó el"subcadena ()"Método que está asociado con la clase de cadena?

La respuesta a esta pregunta es que cada vez que llame a un método con un valor primitivo; JavaScript crea automáticamente un "objeto"Según el tipo de datos primitivos correspondientes", "cadena". Después de eso, invoca el método especificado con la ayuda de la instancia creada y luego elimina la instancia inmediatamente de la memoria.

Entonces, técnicamente, nuestro programa ejecutado es equivalente a este código:

Let Language = 'JavaScript';
// Cuando el idioma.Se invoca la subcadena (4);
Sea tmp = new String (lenguaje);
str1 = tmp.subcadena (4);
consola.log (str1);
tmp = nulo;

La ejecución del programa anterior también mostrará el mismo resultado:

Ahora, veremos la diferencia entre Objeto de envoltorio primitivo manual y Objeto de envoltorio primitivo automático (tipo de envoltorio primitivo).

Objeto de envoltorio primitivo manual vs objeto de envoltura primitiva automática

Como se mencionó anteriormente, JavaScript le permite crear objetos de envoltura primitivos manualmente utilizando el nuevo operador. A diferencia de los tipos de envoltura primitiva, los objetos creados manualmente permanecen en la memoria hasta que estos objetos salgan del alcance.

Ejemplo: objeto de envoltorio primitivo manual frente a objeto de envoltura primitiva automática

En el ejemplo dado a continuación, crearemos un objeto de envoltura primitiva manual llamado "str1" utilizando el "nuevo"Operador y Cadena() Constructor de clase de envoltura:

Let str1 = new String ('JavaScript');
consola.log (typeOf str1);
consola.log (str1);

La salida dada significa que hemos creado con éxito un "objeto" teniendo "Cadena"Prototipo que almacenó"Javascript"Como su valor de cadena primitiva:

Mientras que, en el caso del objeto de envoltorio primitivo creado automáticamente o el tipo de envoltorio primitivo, el alcance está restringido a una sola propiedad y método invocado:

Let str1 = 'javaScript';
str1.lenguaje = 'es6';
consola.log (STR1.idioma);

Aquí, primero creamos una variable "str1"Con un valor primitivo de cadena"Javascript"En el ejemplo anterior. Después de leer el valor primitivo, JavaScript genera un nuevo objeto primitivo de cadena o tipo de envoltorio primitivo para "str1". A continuación, el "str1.lenguaje = 'es6'"El comando intenta acceder a la propiedad del idioma del"str1"Cadena y asigna valor a él.

El "idioma"La propiedad existe en la memoria hasta este punto. Por lo tanto, la salida ha devuelto "indefinido"En lugar del valor almacenado en"str1.idioma"Cuando se ejecuta la siguiente línea:

Hemos compilado toda la información esencial relacionada con el Tipos de envoltura primitiva y objetos primitivos en Javascript.

Conclusión

JavaScript ofrece tipos de envoltura primitiva para el "cadena","número","booleano","Empezando", y "símbolo"Tipos de datos, lo que facilita el uso de estos valores primitivos. Los tipos de envoltura primitiva también se llaman objetos de envoltura primitiva creada automáticamente, ya que se crean automáticamente cuando el motor JavaScript lee cualquier valor primitivo, y estos objetos se eliminan inmediatamente después de invocar el método o propiedad especificado. Este artículo explicó Tipos de envoltura primitiva de JavaScript con la ayuda de ejemplos adecuados.