如果要获取一个未知类型值的length
属性,必须先进行类型判断,防止报错或者获取到无用值。
首先,null
和undefined
这两种值是无法读取属性的,会报错。所以这两种都要判断并排除。
然后,无效length
属性。Object
、Number
、NaN
、Boolean
、Symbol
、BigInt
、Map
、Set
这些类型或数据结构的length
属性都是undefined
。当然,我没有测试全部数据结构。
还有特殊的length
属性——函数的length
属性表示的是形参的个数。
最后,一般情况下期望的length
属性。Array
、String
的length
属性一般是我们所需要的。