From a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:46:50 +0100 Subject: unslug es: move --- files/es/glossary/primitive/index.html | 125 +++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 files/es/glossary/primitive/index.html (limited to 'files/es/glossary/primitive') diff --git a/files/es/glossary/primitive/index.html b/files/es/glossary/primitive/index.html new file mode 100644 index 0000000000..1966a23803 --- /dev/null +++ b/files/es/glossary/primitive/index.html @@ -0,0 +1,125 @@ +--- +title: Primitivo +slug: Glossary/Primitivo +tags: + - CodingScripting + - Glosario + - JavaScript +translation_of: Glossary/Primitive +--- +

En {{Glossary("JavaScript")}}, un primitive (valor primitivo, tipo de dato primitivo) son datos que no son un {{Glossary("object", "objeto")}} y no tienen {{Glossary("method", "métodos")}}. Hay 6 tipos de datos primitivos: {{Glossary("string")}}, {{Glossary("number")}}, {{Glossary("bigint")}}, {{Glossary("boolean")}} , {{Glossary("undefined")}} y {{Glossary("symbol")}}. También hay {{Glossary("null")}}, que aparentemente es primitivo, pero de hecho es un caso especial para cada {{JSxRef("Object")}}: y cualquier tipo estructurado se deriva de null por la {{web.link("/es/docs/Learn/JavaScript/Objects/Inheritance", "Cadena de prototipos")}}.

+ +

La mayoría de las veces, un valor primitivo se representa directamente en el nivel más bajo de la implementación del lenguaje.

+ +

Todos los primitivos son inmutables, es decir, no se pueden modificar. Es importante no confundir un primitivo en sí mismo con un valor primitivo asignado a una variable. Se puede reasignar un nuevo valor a la variable, pero el valor existente no se puede cambiar de la misma forma en que se pueden modificar los objetos, los arreglos y las funciones.

+ +

Ejemplo

+ +

Este ejemplo te ayudará a comprender que los valores primitivos son inmutables.

+ +

JavaScript

+ +
// El uso de un método de cadena no modifica la cadena
+var bar = "baz";
+console.log(bar);               // baz
+bar.toUpperCase();
+console.log(bar);               // baz
+
+// El uso de un método de arreglo muta el arreglo
+var foo = [];
+console.log(foo);               // []
+foo.push("plugh");
+console.log(foo);               // ["plugh"]
+
+// La asignación le da al primitivo un nuevo valor (no lo muta)
+bar = bar.toUpperCase();       // BAZ
+
+ +

Un primitivo se puede reemplazar, pero no se puede modificar directamente.

+ +

Otro ejemplo [paso a paso]

+ +

El siguiente ejemplo te ayudará a analizar cómo se ocupa JavaScript de los primitivos.

+ +

JavaScript

+ +
// El primitivo
+let foo = 5;
+
+// Define una función que debería cambiar el valor primitivo
+function addTwo(num) {
+   num += 2;
+}
+// Otra función que intenta hacer lo mismo
+function addTwo_v2(foo) {
+   foo += 2;
+}
+
+// Llama a tu primera función mientras pasas el primitivo como argumento
+addTwo(foo);
+// Obtiene el valor primitivo actual
+console.log(foo);   // 5
+
+// Intenta de nuevo con tu segunda función...
+addTwo_v2(foo);
+console.log(foo);   // 5
+
+ +

¿Esperaba que fuera 7 en lugar de 5?, si es así, lee cómo se ejecuta este código:

+ + + +

Es por eso que los primitivos son inmutables: en lugar de cambiarlos directamente, modificas una copia, sin afectar el original.

+ +

Envolturas de objetos primitivos en JavaScript

+ +

A excepción de null y undefined, todos los valores primitivos tienen objetos equivalentes que envuelven los valores primitivos:

+ + + +

El método {{JSxRef("Objetos_globales/Object/valueOf"," valueOf()")}} del contenedor devuelve el valor primitivo.

+ +

Aprende más

+ +

Conocimientos generales

+ + + + -- cgit v1.2.3-54-g00ecf