在開發(fā)地圖點聚合功能時,網(wǎng)頁按F12調(diào)出調(diào)試功能,發(fā)現(xiàn)JS錯誤提示“Uncaught TypeError: Cannot read properties of null”,如下圖:

雖然程序是正常運行的,但作為對寫代碼的BUG零容忍態(tài)度,是絕不充許出現(xiàn)這種情況,接下來我們詳細(xì)了解一下出現(xiàn)這個的原因,以及解決方法.
一、什么是Uncaught TypeError: Cannot read properties of null?
在JavaScript中,當(dāng)你試圖訪問一個null或undefined對象的屬性時,就會拋出這個錯誤。例如,如果你有一個變量x,它的值為null,然后你嘗試訪問x.property,就會得到"Uncaught TypeError: Cannot read properties of null"的錯誤。
二、為什么會出現(xiàn)這個錯誤?
這個錯誤通常發(fā)生在以下幾種情況:
正在嘗試訪問一個未定義的變量的屬性。
正在嘗試訪問一個空對象的屬性。
正在嘗試訪問一個不存在的對象的屬性。
三、如何解決這個問題?
1. 檢查變量是否已經(jīng)定義
在使用任何變量之前,都應(yīng)該先檢查它是否已經(jīng)定義。可以使用typeof操作符來檢查一個變量的類型。
if (typeof x !== 'undefined') { // 訪問x的屬性}2. 檢查你的變量是否為null或undefined
在訪問對象的屬性之前,應(yīng)該先檢查該對象是否為null或undefined。
if (x !== null && x !== undefined) { // 訪問x的屬性}3. 從ES2020開始,已經(jīng)直接可以忽略錯誤提示了,使用方法如下:
const value = x?.property;
在這個例子中,如果x是null或undefined,那么value將被賦值為undefined,而不會拋出錯誤。
使用1和2點方法的話,還是不能完全解決問題,最好是用第3點的解決方法直接讓系統(tǒng)不提示出錯信息咯。
PHP在程序開發(fā)的語言里是非常靈活的一種,靈活有靈活的便利性,亦少了嚴(yán)謹(jǐn)性。