JavaScript null 和 undefined

JavaScript 中有 8数据类型。它们是

数据类型 描述
字符串 表示文本数据
Number 一个整数或一个浮点数
BigInt 任意精度的整数
布尔型 两个值中的任何一个:true 或 false
对象 键值对的数据集合
Symbol 一种实例唯一且不可变的数据类型
undefined 一种变量未初始化的数据类型
null 表示空值的特殊关键字

undefinednull 是我们将在本教程中讨论的两种数据类型。


JavaScript undefined

如果一个变量已声明但未赋值,则该变量的值将为 undefined。例如:

let name;
console.log(name); // undefined

也可以显式地将 undefined 赋值给一个变量。例如:

let name = "Felix";

// assigning undefined to the name variable
name = undefined

console.log(name); // returns undefined

注意: 通常,null 用于将'未知'或'空'值赋给变量。因此,您可以将 null 赋给一个变量。


JavaScript null

在 JavaScript 中,null 是一个特殊值,表示未知值。例如:

let number = null;

上面的代码表明 number 变量目前是空的,稍后可能会有值。

注意null 不等于 NULL 或 Null。


False Values

在 JavaScript 中,undefinednull 被视为 false 值。例如:

if(null || undefined ) {
    console.log('null is true');
} else {
    console.log('null is false');
}

输出

null is false

undefinednullBoolean() 函数一起使用时,它们会被转换为 false。例如:

let result;

result = Boolean(undefined);
console.log(result); // false

result = Boolean(null);
console.log(result); // false

JavaScript typeof: null and undefined

在 JavaScript 中,null 被视为一个对象。您可以使用 typeof 运算符来检查这一点。typeof 运算符用于确定变量和值的类型。例如:

const a = null;
console.log(typeof a); // object

typeof 运算符用于确定 undefined 值时,它会返回 undefined。例如:

let a;
console.log(typeof a); // undefined

JavaScript Default Values: null and undefined

在访问此部分之前,请务必查看 JavaScript 默认参数教程。

在 JavaScript 中,当您将 undefined 传递给接受默认值的函数参数时,undefined 会被忽略,并使用默认值。例如:

function test(x = 1) {
  console.log(x);
}

// passing undefined
// takes default value 1
test(undefined); // 1

但是,当您将 null 传递给默认参数函数时,该函数会将 null 作为值。例如:

function test(x = 1) {
  console.log(x);
}

// passing undefined
// takes null
test(null); // null

比较 null 和 undefined

当使用等于运算符 == 比较 nullundefined 时,它们被视为相等。例如:

console.log(null == undefined); // true

在 JavaScript 中,== 通过执行 类型转换来比较值。nullundefined 都返回 false。因此,nullundefined 被视为相等。

但是,当使用严格等于运算符 === 比较 nullundefined 时,结果为 false。例如:

console.log(null === undefined); // false
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战