HelloWorld 发表于 2024-6-4 21:16:30

js void 0

本帖最后由 HelloWorld 于 2024-6-4 21:19 编辑

看别人源码里有一行 js 代码 if (json["error"] != void 0)

在 JavaScript 中,void 0 产生 undefined,json["error"] != void 0 等同于 json["error"] != undefined

那为什么不直接用 undefined?
在 JavaScript 中,undefined 可以被重新赋值
undefined = "now it's a string";
console.log(undefined); // "now it's a string"

而,void 0 始终返回 undefined,使用 void 0 是一种更安全的方式来获取 undefined 的值

在 JavaScript 中,void 是一个一元操作符,它的作用是对给定的表达式进行求值,然后丢弃这个值并返回 undefined
意思是 void 会计算或执行后面的表达式。例如,如果你写 void alert('Hello, world!'),JavaScript 会执行 alert('Hello, world!') 这个表达式(在浏览器中显示一个警告框),然后 void 操作符会丢弃 alert 函数的返回值(如果有的话),并返回 undefined

tianket 发表于 2024-6-5 18:15:46

学到了, undefined居然不是保留字, 可以重新被赋值
页: [1]
查看完整版本: js void 0