关于属性 length

如果要获取一个未知类型值的length属性,必须先进行类型判断,防止报错或者获取到无用值。

首先,nullundefined这两种值是无法读取属性的,会报错。所以这两种都要判断并排除。

然后,无效length属性。ObjectNumberNaNBooleanSymbolBigIntMapSet这些类型或数据结构的length属性都是undefined。当然,我没有测试全部数据结构。

还有特殊的length属性——函数的length属性表示的是形参的个数。

最后,一般情况下期望的length属性。ArrayStringlength属性一般是我们所需要的。