细节解决报错“TypeError: Cannot read properties of undefined (reading ‘forEach‘)

今天用jsbin跑了一个简单的测试程序

代码逻辑是对的,但是还是报错,一开始特别疑惑

这是报错的源代码

const arr = new Set()
[2, 3, 5, 4, 5, 2, 2].forEach(item=>arr.add(item))

for(let i of arr){console.log(i)}

报错如下

"TypeError: Cannot read properties of undefined (reading 'forEach')
    at gujuhohiha.js:6:23
    at https://static.jsbin.com/js/prod/runner-4.1.8.min.js:1:13924
    at https://static.jsbin.com/js/prod/runner-4.1.8.min.js:1:10866"

通过测试发现了,第一行加上一个;就解决报错了,程序就可以正常运行

要是光看报错的信息(Cannot read properties of undefined无法读取未定义的属性)很容易被误导,会让你以为是forEach出了什么问题,其实只是因为你没有用;来分隔程序,导致编译器无法正确解读你的程序,所以报错了。

所以着告诉我们一个道理

写程序要注意细节和规范!!!!!能规避很多不必要的错误

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这个错误通常表示你正在尝试读取某个对象的属性,但该对象是undefined,因此无法读取属性。有几种可能的原因和解决方法可以解决这个问题。 首先,你可以查看错误信息中提到的属性名,比如'xxx', '$el', '_self'。检查你的代码,确保你正在正确地引用该属性。有时候这个错误可能是因为你拼写错误或者错误地引用了一个不存在的属性。 如果你确定你的代码中没有错误的引用,那么可能是由于异步加载的问题导致的。在某些情况下,你可能正在尝试读取一个还未加载完成的对象的属性。在这种情况下,你可以使用条件语句或异步操作来确保在对象加载完成后再读取属性。 另外,这个错误也可能是由于缺少依赖项或错误的配置导致的。你可以检查你的项目依赖项和配置文件,确保它们的正确性。特别是对于Vue项目,你可能需要检查是否正确安装了Vue和其他必要的依赖项。 最后,如果以上方法都没有解决问题,你可以尝试使用调试工具来进一步分析错误。比如,在开发者工具中设置断点,检查代码的执行过程,以找出导致错误的具体原因。 总结起来,当出现"TypeError: Cannot read properties of undefined"错误时,你应该检查以下几点: - 确保正确引用属性并避免拼写错误或引用不存在的属性。 - 确保在读取属性之前对象已经被正确加载或初始化。 - 检查你的项目依赖项和配置文件的正确性。 - 使用调试工具来帮助你分析和解决错误。 希望这些方法能够帮助你解决问题。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [前端解决TypeError: Cannot read properties of undefined (reading ‘xxx‘)的多种情况](https://blog.csdn.net/sunwenpinglike/article/details/129690571)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [解决TypeError: Cannot read properties of undefined (reading ‘NormalModule‘)的四种方案](https://blog.csdn.net/qq_38238956/article/details/124720842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值