JavaScript variable === undefined vs. typeof variable === “undefined”的区别

JavaScript variable === undefined vs. typeof variable === "undefined"的区别

Undefined是在变量已经定义但尚未被赋值时出现的情况。 Undefined不是一个关键字。当函数没有返回值时,也可以是undefined。

确定变量是否未定义有两种方式,即值和类型。

var geeks;
alert ( geeks === undefined)
JavaScript

显然,你给一个未定义的变量赋值了,但是这个变量确实存在。在这里,你将geeks变量与全局变量“undefined”进行比较,而这个全局变量也是未定义的。

语法:

  • 按值检查(Strict equality Operator): 这里你将得到变量是否已被赋值,如果变量没有被赋值,将显示undefined。
  • 按类型检查(Typeof operator): 这里你将得到变量的类型,如果没有被赋值,则显示“undefined”。

注意: 严格相等操作符(===)不检查变量是否为null。typeof操作符在变量未声明时不会报错。

示例: 这里我们分配了两个变量,一个是undefined,另一个定义为“null”,当你使用console.log时,它会显示“null”,如果你检查typeof,它将显示对象,下面的程序将更清楚地说明这个方法。

var firstName; 
var lastName = null; 
  
// Print: undefined         
console.log(firstName);  
// Print: null 
console.log(lastName);   
          
// Print: undefined 
console.log(typeof firstName); 
// Print: object  
console.log(typeof lastName);   
          
// Print: false 
console.log(null === undefined)  
          
if(firstName === undefined) { 
    console.log('LastName is undefined'); 
} else if(firstName === null){ 
    console.log('FirstName is null'); 
}
JavaScript

输出:

undefined
null

undefined
object

false
JavaScript

variable === undefined VS typeof variable === "undefined"

variable === undefined typeof variable === "undefined"
这里被赋值的变量没有任何值,但变量存在。 这里变量的类型是未定义的。
如果你赋了一个值 (var geeks === undefined ) ,它就会显示,如果没有赋值,它也会显示为未定义但意义不同。 这里的 “undefined” 是 typeof 未定义。
在这种情况下,如果你给一个变量赋了 null,null 将会显示,null 宽松地等于未定义。 但是在这里 typeof 将显示对象。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册