在JavaScript中,我们经常会遇到undefined、null、””、0和false这几个值,这些值看起来很相似,但实际上它们之间有着很大的区别。
![如何区分JS中的undefined,null,””,0和false 图片[1]-如何区分JS中的undefined,null,””,0和false-不念博客](https://www.bunian.cn/wp-content/uploads/2023/12/image-150.png)
在本文中,不念将详细介绍这些值的区别,并提供相应的代码示例。
undefined
undefined表示一个未定义的值,通常用于表示变量没有被赋值或者对象中没有该属性。例如:
let a;console.log(a); // undefinedlet obj = {};console.log(obj.foo); // undefinedlet a; console.log(a); // undefined let obj = {}; console.log(obj.foo); // undefinedlet a; console.log(a); // undefined let obj = {}; console.log(obj.foo); // undefined
null
null表示一个空值,通常用于表示变量或对象中某个属性的值为空。例如:
let a = null;console.log(a); // nulllet obj = { foo: null };console.log(obj.foo); // nulllet a = null; console.log(a); // null let obj = { foo: null }; console.log(obj.foo); // nulllet a = null; console.log(a); // null let obj = { foo: null }; console.log(obj.foo); // null
需要注意的是,null不等于undefined。例如:
console.log(null == undefined); // trueconsole.log(null === undefined); // falseconsole.log(null == undefined); // true console.log(null === undefined); // falseconsole.log(null == undefined); // true console.log(null === undefined); // false
“”
“”表示一个空字符串,通常用于表示字符串为空。例如:
let a = "";console.log(a); // ""let obj = { foo: "" };console.log(obj.foo); // ""let a = ""; console.log(a); // "" let obj = { foo: "" }; console.log(obj.foo); // ""let a = ""; console.log(a); // "" let obj = { foo: "" }; console.log(obj.foo); // ""
需要注意的是,””不等于undefined和null。例如:
console.log("" == undefined); // falseconsole.log("" === undefined); // falseconsole.log("" == null); // falseconsole.log("" === null); // falseconsole.log("" == undefined); // false console.log("" === undefined); // false console.log("" == null); // false console.log("" === null); // falseconsole.log("" == undefined); // false console.log("" === undefined); // false console.log("" == null); // false console.log("" === null); // false
0
0表示数字0,通常用于表示数值为0。例如:
let a = 0;console.log(a); // 0let obj = { foo: 0 };console.log(obj.foo); // 0let a = 0; console.log(a); // 0 let obj = { foo: 0 }; console.log(obj.foo); // 0let a = 0; console.log(a); // 0 let obj = { foo: 0 }; console.log(obj.foo); // 0
需要注意的是,0不等于undefined、null和false。例如:
console.log(0 == undefined); // falseconsole.log(0 === undefined); // falseconsole.log(0 == null); // falseconsole.log(0 === null); // falseconsole.log(0 == false); // trueconsole.log(0 === false); // falseconsole.log(0 == undefined); // false console.log(0 === undefined); // false console.log(0 == null); // false console.log(0 === null); // false console.log(0 == false); // true console.log(0 === false); // falseconsole.log(0 == undefined); // false console.log(0 === undefined); // false console.log(0 == null); // false console.log(0 === null); // false console.log(0 == false); // true console.log(0 === false); // false
false
false表示布尔值false,通常用于表示一个逻辑上的假值。例如:
let a = false;console.log(a); // falselet obj = { foo: false };console.log(obj.foo); // falselet a = false; console.log(a); // false let obj = { foo: false }; console.log(obj.foo); // falselet a = false; console.log(a); // false let obj = { foo: false }; console.log(obj.foo); // false
需要注意的是,false不等于undefined、null和0。例如:
console.log(false == undefined); // falseconsole.log(false === undefined); // falseconsole.log(false == null); // falseconsole.log(false === null); // falseconsole.log(false == 0); // trueconsole.log(false === 0); // falseconsole.log(false == undefined); // false console.log(false === undefined); // false console.log(false == null); // false console.log(false === null); // false console.log(false == 0); // true console.log(false === 0); // falseconsole.log(false == undefined); // false console.log(false === undefined); // false console.log(false == null); // false console.log(false === null); // false console.log(false == 0); // true console.log(false === 0); // false
综上所述,undefined、null、””、0和false之间的区别非常明显。
在编写JavaScript代码时,我们需要注意它们之间的差异,以免出现不必要的错误。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END