NodeJS中JavaScript数组自动转为对象?求排查异常问题
解决JavaScript数组被
typeof识别为Object的问题 嘿,我完全懂你这种困惑!刚接触JS的时候我也被这个typeof的“小坑”坑过😂。其实这是JavaScript语言本身的设计特性——数组在JS里本质上是一种特殊的Object类型,所以用typeof去检测数组时,确实会返回'object',这并不是你的代码出了问题哦。
怎么正确判断一个值是不是数组?
给你两个靠谱的方法:
- 使用
Array.isArray()方法(最推荐,能跨iframe等场景准确判断)const chapterList = [1, 2, 3]; console.log(typeof chapterList); // 输出 'object' console.log(Array.isArray(chapterList)); // 输出 true - 使用
instanceof运算符(适合同上下文的场景)console.log(chapterList instanceof Array); // 输出 true
补充说明
在Node.js环境下这个表现和浏览器是一致的,因为都是遵循ECMAScript标准。如果你之前误以为typeof能区分数组和普通对象,那下次记得用上面的方法来做准确判断哦。
内容的提问来源于stack exchange,提问作者dev02
相关产品推荐
相关产品推荐

