TypeScript Null和Undefined的区别
Null
Null用于表示有意为之的值的缺失。它表示一个其值未定义的变量。它只接受一个值,即null。在TypeScript中使用Null关键字来定义Null类型,但它并不实用,因为我们只能将null值赋给它。
示例
//变量声明并赋值为null
var a = null;
console.log(a); //输出:null
console.log(typeof(a)); //输出:object
输出:
Undefined
它代表了TypeScript和JavaScript中未初始化的变量。它只有一个值,即undefined。在TypeScript中,undefined关键字定义了undefined类型,但它并不实用,因为我们只能将undefined值赋给它。
示例
//变量声明但未分配任何值
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之间的重要区别是:
SN | Null | Undefined |
---|---|---|
1. | 它是一种分配值。它可以分配给一个变量,表示变量没有指向任何对象。 | 它不是一种分配值。它意味着一个变量已经声明,但还没有被分配值。 |
2. | 它是一个对象。 | 它本身就是一种类型。 |
3. | null是一个原始值,表示null、空或不存在引用。 | undefined是一个原始值,在一个变量没有被赋值时使用。 |
4. | Null表示变量的值为缺失。 | Undefined表示变量本身的缺失。 |
5. | 在进行原始操作时,Null会转换为零(0)。 | 在执行原始操作时,Undefined会转换为NaN。 |