JavaScript 的类型函数是否检查空值
Does JavaScript's typeof function check for null
javascripts typeof
表达式会检查空吗?
var test = {};
console.log(typeof test['test']);//"undefined"
var test = null;
console.log(typeof test['test']);//TypeError: test is null
显然,但是如果typeof null
是一个对象,为什么会有错误?
编辑:
我知道如何避免类型错误,并且null
没有属性,但我想知道是否有对typeof
行为的解释。
var test = { test: null };
console.log(typeof test['test']);// will be object
您的代码会引发异常,因为您正在读取 null 的属性,如下所示:
null['test']
问题是您正在尝试访问 test
的元素,但test
是null
而不是数组/对象。因此,以下代码会抛出错误:test['test']
.
如果您直接null
传递它,typeof
将正常工作。例如,使用 node.js 控制台:
> typeof null
'object'
你要求它读取null的属性"test",这毫无意义,错误基本上是告诉你"test是null ->无法读取null的属性"test"。
你应该只是做typeof test
而不是typeof test['test']
,我不确定你为什么要做后一种方式。
你可以试试你的测试作为
typeof (test && test['test'])
这样你就可以避免类型错误
相关文章:
- 使用 jQuery 检查所有值是否为空或已填充
- 检查 javascript 数组是否不仅包含空值
- 如何使用jQuery检查两个复选框何时都有非空值
- Json - 检查子节点空值
- 检查输入值是否为空并显示警报
- 我应该使用 if-then-else 或 and or 运算符来检查 Javascript 中的空值吗?
- 检查输入值是否为空
- JavaScript 的类型函数是否检查空值
- 可以在此处删除空值检查吗
- 如何检查文件.getElementbyId包含空值或未定义值
- HTML-如何在javascript中对文本区域的空值输入进行错误检查
- 如何在浏览器刷新后检查输入值是否为空
- 检查数组的空值或未定义值
- 检查多个空值的最佳方法是什么?例如if(foo.bar.giz.mo.)X === 123)
- 如何检查json中的空值
- 循环遍历数组以检查输入值的列是否为空
- 如何在Java脚本中做空值检查
- 如何在Javascript中检查空值
- 如何使用空值检查日期的截止日期
- PHP将字符串转换为变量,检查其值是否为空,并与其他值进行比较