JavaScript中null与undefind的区别有哪些?
问题描述:JavaScript中null与undefind的区别有哪些?
推荐答案 本回答由问问达人推荐
JavaScript 中 和 是两个不同的值,它们有以下几个区别:null、undefined
1.变量声明但未赋值时的默认值:在 JavaScript 中,未初始化的变量默认值为 ,而不是 。undefined、null
let x;
console.log(x); // 输出 undefined
2.数据类型:分别是 JavaScript 中的两种不同的数据类型。表示一个空对象指针,通常用于表示一个变量没有引用任何对象,而 表示一个未定义的值,通常用于表示变量未被赋值。null、undefined、null、undefined
console.log(typeof null); // 输出 object
console.log(typeof undefined); // 输出 undefined
3.类型转换: 和 在进行类型转换时有一些差别。当将 转换为数字或字符串时,会返回 0 和 “null”,而将 转换为数字或字符串时,则会返回 NaN 和 “undefined”。null、undefined、null、undefined
console.log(Number(null)); // 输出 0
console.log(String(null)); // 输出 "null"
console.log(Number(undefined)); // 输出 NaN
console.log(String(undefined)); // 输出 "undefined"
4.对象属性的默认值:在 JavaScript 中,访问不存在的对象属性会返回 ,而不是 。undefined、null
const obj = {};
console.log(obj.prop); // 输出 undefined
总的来说, 和 是 JavaScript 中的两个不同的值,它们的用途和行为略有不同,需要根据实际情况选择使用哪个值。