Property 'addClass' does not exist on type 'HTMLElement' code example

Example 1: Property 'value' does not exist on type 'HTMLElement'.

document.getElementById() returns the type HTMLElement which does not contain a value property.
The subtype HTMLInputElement does however contain the value property.

So a solution is to cast the result of getElementById() to HTMLInputElement like this:

var inputValue = (<HTMLInputElement>document.getElementById(elementId)).value;
<> is the casting operator in typescript.
See TypeScript: casting HTMLElement: https://fireflysemantics.medium.com/casting-htmlelement-to-htmltextareaelement-in-typescript-f047cde4b4c3

The resulting javascript from the line above looks like this:

inputValue = (document.getElementById(elementId)).value;
i.e. containing no type information.

Example 2: angular Property 'value' does not exist on type 'HTMLElement'.

var inputValue = (<HTMLInputElement>document.getElementById(elementId)).value;