📜  变量 === 未定义与 typeof 变量 === JavaScript 中的“未定义”

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

变量 === 未定义与 typeof 变量 === JavaScript 中的“未定义”

当任何变量已经定义但尚未被分配任何值时,未定义就会出现。未定义不是关键字。当一个函数没有返回值时,它也可以是未定义的。
有两种方法可以确定变量是否未定义,值和类型。

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


javascript
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');
     }


很明显,您分配了一个未定义但该变量存在的变量。在这里,您将 geeks 变量与未定义的全局变量“undefined”进行比较。
句法:

  1. 按值检查(严格相等运算符):在这里您将得到该变量是否被分配了一个值,如果该变量没有被分配一个值,它将显示未定义。
  2. 检查类型(Typeof运算符):在这里您将获得什么类型的变量,如果没有分配变量,则会显示“未定义”。

注意严格相等运算符(===) 不检查变量是否为空。如果变量未声明,运算符类型不会抛出错误。
例子:这里我们分配两个变量一个是未定义的,另一个是定义的“null”,这里null不是未定义的,当你输入console.log它会显示“null”如果你检查typeof然后它会显示对象,下面的程序将更清楚地说明该方法。
程序:

javascript

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');
     }

输出:

undefined
null

undefined
object

false

变量 === 未定义 VS typeof 变量 === “未定义”

variable === undefinedtypeof variable === “undefined”
Here the assigned variables don’t have any value but the variable exists.Here the type of variable is undefined.
If you assigned a value(var geeks === undefined ) it will show, if not it will also show undefined but in different meaning.Here the undefined is the typeof undefined.
In this, null will display if you assigned null to a variable, null is loosely equals to undefinedBut here typeof will show object.