Being the Javascript newbie that I am…
Javascript errors are still a mystery, more so if using Chrome/Chromium.
With Firefox the error was actually more clear.
TypeError: Cannot read properties of null (reading 'length')
means you have a variable that you’re checking it’s property ‘length’ to be a certain value but the variable is null.
Explanation:
1 2 3 4 |
const urls = JSON.parse(localStorage.getItem('urls')) if (urls.length > 0) { // do something } |
In this case localStorage’s ‘urls’ key or rather value of the ‘urls’ key was empty and JSON.parse transformed that to null
.
So if you check for urls.length to be greater than 0, you can’t do it and receive this error message.
How do you solve it?
1 2 3 |
if (urls && urls.length > 0) { // do something } |
This is the Javascript (and Typescript) way to check if a variable isn’t null and then check its property if it isn’t.
I know, logically this makes no sense, because it’s a logical AND. But hey, it’s Javascript so you don’t have to understand, you have to believe. 😉 HTH