如何在 JavaScript 中检查该值是否为原始值?
在本文中,我们将了解如何检查原始值是否为原始值。
JavaScript 提供了六种类型的原始值,包括Number、String、Boolean、Undefined、Symbol和BigInt 。原始值的大小是固定的,因此 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