¿Cómo verificar si el valor es primitivo o no en JavaScript?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *