访问数字类型的未定义属性

Access undefined properties on number type

本文关键字:未定义 属性 类型 数字 访问      更新时间:2023-12-01

我注意到我可以访问数字类型的任意属性,而不会产生错误(至少在chrome中):

123[1]    //undefined

我必须确定一个数组的当前项是另一个数组还是一个数字,这将派上用场。这种行为在所有JS引擎中都可靠吗?还是有可能在某个地方产生错误?

我必须确定数组的当前项是另一个数组还是一个数字。。。

你不能使用!isNaN(value) || Array.isArray(value)

这将派上用场。

我真的不这么认为。

这种行为在所有JS引擎中都可靠吗。。。

是的,它在ECMAScript规范的属性访问器部分中定义

或者这是否有可能在某个地方产生错误?

只要值不是nullundefined,就可以使用[]语法来访问对象的属性。从数字调用函数是很常见的,但对于小数点来说,这看起来很奇怪:

100..toString() //'100'

要在Javascript中检查项目的类型,请不要冒险并使用typeof,这是确定对象类型的最佳方法

http://javascript.info/tutorial/type-detection