js里的Array为什么能直接添加属性?
无意间发现了同事代码里有这样的写法,new了一个数组然后当对象用,为什么数组也能直接写属性呢?
作者:紫云飞 链接:https://www.zhihu.com/question/408959053/answer/1360392908 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
只要是对象值就能当成 plain object 来用,虽然一般没人这么干,比如还可以用正则对象

甚至数字对象

猜测你这个同事是不是从 PHP 来的,习惯把关联数组和索引数组都用数组来实现。
其实带非索引属性的数组对象 JS 内部 API 也会创建:
正则匹配的结果 ,比如
/./.exec('123'),带了input属性等模板字符串对象,比如 console.log`123`,带了
raw属性
最后更新于
这有帮助吗?
