【JS】如何解决Cannot set properties of undefined

这篇具有很好参考价值的文章主要介绍了【JS】如何解决Cannot set properties of undefined。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TypeError: Cannot set properties of undefined
类型错误:无法设置未定义的属性

问题解析

当前的是当前对象或者数组是undefined,但是却用来引用属性或者索引

比如下面两种情况

const value = undefined

value.a  // TypeError: Cannot read properties of undefined (reading 'a')
value[0]  // TypeError: Cannot read properties of undefined (reading '0')

或者是当前的value值不是我们显式声明的undefined,而是运算之后得到undefined,之后我们再去用它

const value = {}

value.a.b // TypeError: Cannot read properties of undefined (reading 'b')
value.a  // undefined

解决方案

问题清楚了, 解决的方式就是不用undefined直接去应用对象,解决报错问题可以用以下方法文章来源地址https://www.toymoban.com/news/detail-578504.html

const value = undefined

//解决方法1: if条件
if(value){
  value = {}
	value.a
}

// 解决方法2:?运算符
value?.a

// 解决方法3:||运算符
const preValue = value || {}
preValue.a

到了这里,关于【JS】如何解决Cannot set properties of undefined的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于微信小程序没定义query却还报错TypeError: Cannot set property ‘query‘ of undefined

    最开始以为 #ifndef 和 #endif  这是注释  看见下面写了个vue3,把这个vue3改成了vue2, 然后然后最重要的是,改了自己又忘了自己改了这里,折磨了不知道多了多少minutes,又记起来了,然后就解决啦~~~~ 然后查了一下这是啥意思,发现这是一种预处理指令 ifdef = if define 意思是如

    2024年02月14日
    浏览(46)
  • 【解决】el-tree报Cannot read property ‘getCheckedKeys‘ of undefined Cannot read property 'getCheckedKeys' of undefined

    如果你报错 或者  只要在你的在el-tree上加个这个,就可以了   ref=\\\"tree\\\"  

    2024年02月14日
    浏览(67)
  • 解决 Cannot read property ‘key‘ of undefined

    现场环境分页查询某些条件项查询时,分页接口获取成功但是数据不渲染,页面像是卡住了: 报错 Cannot read property \\\'key\\\' of undefined 有人说 使用的el-pagination在格式化代码的时候layout属性的参数会多加空格. 参照 文档 ↓↓↓ 修改之后没有用,还是会报错 还有人说 发现是返回了

    2024年02月07日
    浏览(30)
  • 解决Cannot read properties of undefined (reading ‘resetFields‘)

    第一天做项目中遇到了这一个问题关于resetField重置校验报错的问题,   然后去网上查找问题的原因,但是找到问题的原因是: mouted加载table数据以后,隐藏的 Dialog 并没有编译渲染进 dom 里面。所以当通过点击事件,Dialog 弹出的时候,$refs 并没有获取到 dom 元素导致 ‘reset

    2023年04月23日
    浏览(68)
  • 解决 Cannot read properties of undefined类型的报错

    报错类型一般为两种 对象类型 对象没有数据的时候为undefined 这个时候访问内部内容就会报错 举个例子 正常情况 对象有值的时候 var obj={name:‘张三’,age:18} #此时对象有数据访问不会报错 console.log(obj.name) 1 2 3 对象没值的时候 var obj={} console.log(obj.name) #就会报错 Uncaught Syntax

    2023年04月21日
    浏览(31)
  • 解决Cannot read properties of undefined (...)类型的报错

    场景: 在项目中,想要获取鼠标的元素,红色区域报错:Cannot read properties of undefined (reading \\\'grid3D\\\') 分析: Cannot read properties of undefined类型的报错,一般是报错元素的前一个元素出了问题,也就是this.option没有获取到。 报错类型一般为两种: 对象没值的时候 对象为undefined的时

    2024年02月12日
    浏览(33)
  • [已解决]Cannot read properties of undefined (reading ‘install‘)

    唉,对于计算机的bug是真的很害怕。但是这个错误,我发现解决起来还是蛮简单的。 参考这篇博客: (2条消息) 错误“Cannot read properties of undefined (reading ‘install‘) at Vue.use” 的解决方案_cannot read properties of undefined (reading \\\'inst_FunSober的博客-CSDN博客 原因主要就是我们在下载

    2024年02月13日
    浏览(32)
  • 【Vite】Vite切换版本(Vite+vue3)报错 [vite] Internal server error: Cannot set property ‘id‘ of undefined

    Vue3+vite的项目,在全局安装新的Vite版本后,一直报下图错误。 报错信息 通过很多方式没有解决,最后发现是Vite版本的问题,因为Vue是从脚手架中引入的 查看package.json和package.lock.json区别 修改 将 package.json 中vite的版本号固定后,安装( npm install )发现仍有问题 最终解决 查

    2024年02月16日
    浏览(37)
  • js中控制台报错:Uncaught TypeError: Cannot read properties of undefined (reading ‘appendChild‘)

    控制台错误提示为: 意思是:未捕获的类型错误: 无法读取未定义的属性(读取‘ appendchild’) 也就是说,你在使用appendChild时的父元素上没有这个属性,所以没法使用。 此时,需要检查你获取元素是否有误,或者是逻辑问题。 此时我的js代码为:(只展示引起错误的部分)

    2024年02月15日
    浏览(37)
  • 关于原生js里报这个错:Cannot read properties of undefined (reading ‘classList‘) at HTMLLIElement.

      说是不能读取classList这个属性,我写的代码是这样的 写到divs[i]这里一直报错,我打印是undefined,我就一直想不通 直到我看见了for循环里面的i,for循环里面的i如果不声明默认是全局变量,如果不加let就会出问题 至于为什么,我搜了一下,说是 用 var 声明时,变量 i 是唯一的

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包