En este artículo, sabremos cómo verificar si un valor de primitivo o no.
JavaScript proporciona seis tipos de valores primitivos que incluyen Number, String, Boolean, Undefined, Symbol y BigInt . El tamaño de los valores primitivos es fijo, por lo tanto, JavaScript almacena el valor primitivo en la pila de llamadas (contexto de ejecución).
Cuando accedemos a un valor primitivo, manipulamos el valor real almacenado en esa variable. Por lo tanto, se accede a las variables que son primitivas por valor . Cuando asignamos una variable que almacena un valor primitivo a otra, el valor almacenado en la variable se crea y se copia en la nueva variable.
Para verificar si un valor es primitivo o no, usamos los siguientes enfoques:
Enfoque 1: en este enfoque, verificamos el tipo del valor usando el operador typeof . Si el tipo del valor es ‘objeto’ o ‘función’, entonces el valor no es primitivo; de lo contrario, el valor es primitivo. Pero el operador typeof muestra que el nulo es un «objeto», pero en realidad, el nulo es un primitivo.
Ejemplo:
Javascript
let isPrimitive = (val) => { if(val === null){ console.log(true); return; } if(typeof val == "object" || typeof val == "function"){ console.log(false) }else{ console.log(true) } } isPrimitive(null) isPrimitive(12) isPrimitive(Number(12)) isPrimitive("Hello world") isPrimitive(new String("Hello world")) isPrimitive(true) isPrimitive([]) isPrimitive({})
Producción:
true true true true false true false false
Enfoque 2: en este enfoque, pasamos el valor dentro de Object() y verificamos si el valor es igual a Object(value). Si el valor es igual, entonces el valor es primitivo; de lo contrario, no es primitivo.
Ejemplo:
Javascript
let isPrimitive = (val) => { if(val === Object(val)){ console.log(false) }else{ console.log(true) } } isPrimitive(null) isPrimitive(12) isPrimitive(Number(12)) isPrimitive("Hello world") isPrimitive(new String("Hello world")) isPrimitive(true) isPrimitive([]) isPrimitive({})
Producción:
true true true true false true false false
Publicación traducida automáticamente
Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA