Undefined类型只有一个值——特殊值undefined.
- 当生命变量确没有赋值时,相当于给该变量赋值为undefined。
let ms = undefined;
console.log(ms == undefined); //true
在默认情况下,任何未经初始化的变量都会取得undefined的值
let ms;
console.log(ms == undefined); //true
字面量undefined的存在是为了用来比较,它主要是用来区别null和未初始化变量的区别
- 关于undefined的报错
let ms;
console.log(ms); // undefined
console.log(name); //报错
console.log会指出变量ms的值undefined;但对于name,在未声明时它并没有值因此报错
-
对于未声明的变量,只能进行一个操作,即调用typeof(在非严格模式下,可以进行delete操作,毫无意义)
控制台输出 - 条件判断
let ms;
if(ms){
// 此处不会执行
}
if(!ms){
// 执行
}
if(name){
// 报错
}
undefined是一个假值,也有其他值也可能为假值(false、null、undefined、0、NaN、""),所以在判断时要注意判断字面值undefined,而不是仅判断是否为假值
