Я читал
эту статью и наткнулся там на такой код:
let exampleFunc!: (instance: Example) => number;
class Example {
static #accessCount = 0;
#initial: number;
constructor(input: number) {
this.#initial = input * 2;
}
static {
exampleFunc = (instance: Example) => {
Example.#accessCount++;
return instance.#initial
}
}
}
if (exampleFunc) {
exampleFunc(new Example(2)); // 4
}
и не могу понять, зачем нужен "!" при объявлении exampleFunc:
let exampleFunc
→!←: (instance: Example) => number;
тк он явно не является частью названия переменной, также не думаю, что он говорит о том, что переменная не может быть равна null | undefined: