TypeScript Null和Undefined之间的区别
Null
Null用于表示有意的值的缺失。它代表一个值未定义的变量。它只接受一个值,即null。在TypeScript中,使用Null关键字来定义Null类型,但它并不常用,因为我们只能将null赋值给它。
示例
//Variable declared and assigned to null
var a = null;
console.log( a ); //output: null
console.log( typeof(a) ); //output: object
输出:
Undefined
它代表了TypeScript和JavaScript中未初始化的变量。它只有一个值,即undefined。undefined关键字在TypeScript中定义了undefined类型,但它并不实用,因为我们只能给它赋一个undefined值。
示例
//Variable declaration without assigning any value to it
var a;
console.log(a); //undefined
console.log(typeof(a)); //undefined
console.log(undeclaredVar); //Uncaught ReferenceError: undeclaredVar is not defined
输出结果:
Null vs. Undefined
Null和Undefined之间的重要区别是:
编号 | Null | Undefined |
---|---|---|
1. | 它是一个赋值的值。可以赋给一个变量,表示该变量没有指向任何对象。 | 它不是一个赋值的值。它表示变量已经被声明但尚未被赋值。 |
2. | 它是一个对象。 | 它是一种类型本身。 |
3. | null值是表示空、无、或不存在引用的原始值。 | undefined值是一个原始值,用于表示变量尚未被赋值。 |
4. | null指示变量没有值。 | undefined指示变量本身不存在。 |
5. | 执行原始操作时,null会转换为零(0)。 | 执行原始操作时,undefined会转换为NaN。 |