undefined和void 0 的区别:
undefined 类型表示未定义,它的类型只有一个值就是undefined。
void 运算符能对给定的表达式进行求值,并返回undefined。void后面跟任意表达式返回的都是undefined,例如void(1)、void(‘test’),写void 0 是因为 void 0 是表达式中最短的一个。
为什么要用void 0 来代替undefined:
任何变量在赋值之前都是undefined类型,但是在JavaScript中 undefined是一个变量,而并不是一个关键字,变量是可以重写的,所以我们为了避免无意中被篡改,使用void运算来把任意一个表达式变成undefined的值,void 是不能被重写的 , 用void 0 代替 undefined 能节省字节,好多js压缩工具在压缩过程中都是用 void 0 代替了 undefined。
本文详细解析了JavaScript中undefined与void0的区别。undefined表示变量未定义,而void运算符用于将表达式结果设为undefined。由于undefined是一个可重写变量,因此在代码中推荐使用void0以确保获取undefined值,同时void0在代码压缩时更节省字节。此外,void0在防止意外篡改和优化代码长度方面具有优势。
904





