Я включил tslint в своем проекте. Я также добавил no-null-keyword в мои конфиги. Я использую node.js, поэтому я использую машинописный текст как на веб-интерфейсе, так и на бэкэнде. Так что с бэкэндом no-null-keyword нет проблем. Я могу легко изменить все пустые значения на неопределенные, но когда дело доходит до внешнего интерфейса, система по умолчанию использует нулевое значение, что затрудняет переход от нулевого к неопределенному.
Например localStorage.getItem(nicknameId)
возвращает string | null
Многие другие функции возвращают возможный ноль и не определены в lib.es6.d.ts .
readonly firstElementChild: Element | null;
readonly lastElementChild: Element | null;
readonly nextElementSibling: Element | null;
readonly previousElementSibling: Element | null;
Моя лучшая идея - использовать это правило только в бэкэнде. Но тогда внешний интерфейс будет иметь как null, так и undefined, что увеличит вероятность ошибок. Так как мне подойти к этому?