Изменить: я обновил ответ благодаря комментарию fracz.
Выпущен TypeScript 2.0 !.
Это не то же самое, что ?.
(безопасный навигатор в C #)
Подробнее см. в этом ответе:
https://stackoverflow.com/a/38875179/1057052
Это будет только сообщать компилятору, что это значение не равно null или undefined. Это не проверяет, имеет ли значение значение null или undefined.
TypeScript Оператор с ненулевым утверждением
// Compiled with --strictNullChecks
function validateEntity(e?: Entity) {
// Throw exception if e is null or invalid entity
}
function processEntity(e?: Entity) {
validateEntity(e);
let s = e!.name; // Assert that e is non-null and access name
}