变量 === 未定义与 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”进行比较。
句法:
- 按值检查(严格相等运算符):在这里您将得到该变量是否被分配了一个值,如果该变量没有被分配一个值,它将显示未定义。
- 检查类型(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 === undefined typeof 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 undefined But here typeof will show object.