开发提示“Uncaught TypeError: Cannot read properties of null”错误的解决方法
发表人:金马 | 2024-01-10

在开发地图点聚合功能时,网页按F12调出调试功能,发现JS错误提示“Uncaught TypeError: Cannot read properties of null”,如下图:

04.png

虽然程序是正常运行的,但作为对写代码的BUG零容忍态度,是绝不充许出现这种情况,接下来我们详细了解一下出现这个的原因,以及解决方法.

一、什么是Uncaught TypeError: Cannot read properties of null?

在JavaScript中,当你试图访问一个null或undefined对象的属性时,就会抛出这个错误。例如,如果你有一个变量x,它的值为null,然后你尝试访问x.property,就会得到"Uncaught TypeError: Cannot read properties of null"的错误。

二、为什么会出现这个错误?

这个错误通常发生在以下几种情况:

正在尝试访问一个未定义的变量的属性。

正在尝试访问一个空对象的属性。

正在尝试访问一个不存在的对象的属性。

三、如何解决这个问题?

1. 检查变量是否已经定义

在使用任何变量之前,都应该先检查它是否已经定义。可以使用typeof操作符来检查一个变量的类型。

if (typeof x !== 'undefined') {    // 访问x的属性}

2. 检查你的变量是否为null或undefined

在访问对象的属性之前,应该先检查该对象是否为null或undefined。

if (x !== null && x !== undefined) {    // 访问x的属性}

3从ES2020开始,已经直接可以忽略错误提示了,使用方法如下:

const value = x?.property;

在这个例子中,如果x是null或undefined,那么value将被赋值为undefined,而不会抛出错误。

使用1和2点方法的话,还是不能完全解决问题,最好是用第3点的解决方法直接让系统不提示出错信息咯。

PHP在程序开发的语言里是非常灵活的一种,灵活有灵活的便利性,亦少了严谨性。


我来说两句(0)
:zui: :wink: :twisted: :roll: :oops: :mrgreen: :love: :lol: :jidong: :idea: :han:
发表评论(Ctrl+Enter)
—— 金马科技公众号 ——
十二年 行业积累

砥砺前行路上,有您关注,相聚相研共话成长!

如有意向,请与我们联系

办公电话:0774-3838278 / QQ:154727262 / 微信:wztmma