📜  如何在 JavaScript 中检查该值是否为原始值?

📅  最后修改于: 2022-05-13 01:56:51.332000             🧑  作者: Mango

如何在 JavaScript 中检查该值是否为原始值?

在本文中,我们将了解如何检查原始值是否为原始值。

JavaScript 提供了六种类型的原始值,包括Number、String、Boolean、Undefined、SymbolBigInt 。原始值的大小是固定的,因此 JavaScript 将原始值存储在调用堆栈中 (执行上下文)。

当我们访问原始值时,我们会操纵存储在该变量中的实际值。因此,原始变量由 value 访问。当我们将存储原始值的变量分配给另一个变量时,存储在变量中的值被创建并复制到新变量中。

要检查一个值是否是原始值,我们使用以下方法:

方法 1:在这种方法中,我们使用typeof运算符检查值的类型。如果值的类型是“对象”或“函数”,则该值不是原始的,否则该值是原始的。但是typeof运算符显示 null 是一个“对象”,但实际上,null 是一个 Primitive。

例子:

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({})


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({})


输出:

true
true
true
true
false
true
false
false

方法 2:在这种方法中,我们在Object()中传递值并检查该值是否等于Object(value)。如果值相等,则该值是原始的,否则不是原始的。

例子:

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({})

输出:

true
true
true
true
false
true
false
false