Hello Guys, How are you all? Hope You all Are Fine. Today I have just added typescript to my project and when I am using window.document.getElementByid it give me Type error: Object is possibly ‘null’. TS2531 in javascript. So Here I am Explain to you all the possible solutions here.
Without wasting your time, Let’s start This Article to Solve This Error.
How Type error: Object is possibly ‘null’. TS2531 for window.document Error Occurs ?
I have just added typescript to my project and when I am using window.document.getElementByid it give me following error.
Type error: Object is possibly 'null'. TS2531
How To Solve Type error: Object is possibly ‘null’. TS2531 for window.document Error ?
- How To Solve Type error: Object is possibly ‘null’. TS2531 for window.document Error?
To Solve Type error: Object is possibly ‘null’. TS2531 for window.document Error Here TypeScript is doing its job and tells you that
window.document.getElementById("foobar")
COULD return something that isnull
. If you are absolutely sure that#foobar
element DOES exist in your DOM, you can show TS your confidence with a!
operator. - Type error: Object is possibly ‘null’. TS2531 for window.document
To Solve Type error: Object is possibly ‘null’. TS2531 for window.document Error Here TypeScript is doing its job and tells you that
window.document.getElementById("foobar")
COULD return something that isnull
. If you are absolutely sure that#foobar
element DOES exist in your DOM, you can show TS your confidence with a!
operator.
Solution 1
Here TypeScript is doing its job and tells you that window.document.getElementById("foobar")
COULD return something that is null
. If you are absolutely sure that #foobar
element DOES exist in your DOM, you can show TS your confidence with a !
operator.
// Notice the "!" at the end of line
const myAbsolutelyNotNullElement = window.document.getElementById("foobar")!
Or, you can add a runtime nullable check to make TS happy
const myMaybeNullElement = window.document.getElementById("foobar")
myMaybeNullElement.nodeName // <- error!
if (myMaybeNullElement === null) {
alert('oops');
} else {
// since you've done the nullable check
// TS won't complain from this point on
myMaybeNullElement.nodeName // <- no error
}
Solution 2
window.document.getElementById("foobar");
Is either returning a HTMLElement
or null
As you might used a similar statement before: window.document.getElementById("foobar").value
Typescript is complaining, that value might not be accessible and you should explicitly check this before. To avoid this you can do the following:
const element = window.document.getElementById("foobar");
if (element !== null) {
alert(element.value);
}
Summery
It’s all About this issue. Hope all solution helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which solution worked for you?
Also Read
thanks this solve my problem
It’s my Pleasure to Help You, Ucup. Thank You For Your Valuable words ❤️.