javascript - JavaScript 中的错误值

标签 javascript

今天我遇到了一个有趣的面试问题,有点难住了我。有人问我关于错误值(value)观的问题。因此,未定义、NaN、null、0 和空字符串都评估为 false。在 JavaScript 中了解这一点很有用的原因是什么?我唯一能想到的是不必这样做:

if (mystring === '' || mystring === undefined) { }

我可以做到这一点:

if (!mystring)

这是唯一有用的应用程序吗?

最佳答案

您必须注意的一个危险的错误值问题是在检查某个属性是否存在时。

假设您想测试新属性的可用性;当此属性可以实际上具有0""值时,您不能简单地使用

检查其可用性
if (!someObject.someProperty)
    /* incorrectly assume that someProperty is unavailable */

在这种情况下,您必须检查它是否确实存在:

if (typeof someObject.someProperty == "undefined")
    /* now it's really not available */

还要注意 NaN 不等于任何东西,甚至不等于它本身 (NaN != NaN)。

关于javascript - JavaScript 中的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3982663/

相关文章:

javascript - 通过使用 setAttribute() (Javascript),使用 Switch 语句为多个元素设置样式/颜色

javascript - 如何从浏览器向服务器发送消息 "page will close"?

javascript - 何时使用 attrs 与直接通过样式组件传递 props ?

javascript - 调整大小触发函数一次,直到条件为 True 或 False

javascript - 在光标处添加段落或表格等

javascript - 关于使用数组的高阶函数进行正则表达式全局搜索的问题

JavaScript - 如何在 .js 文件之间传递全局变量?

javascript - 为什么我的日期选择器在 bootstrap 模式中得到修复。我在尝试添加几个 jquery 解决方案时遇到了困难,但对我没有用

javascript - 如何从 iframe 的 $(document).ready 中选中父框架中的复选框?

javascript - 图像选择器返回 uri `content://media/`,没有 React Native 中的扩展名