У меня есть функция:
function test(obj?: { someProperty: string}) {
return obj && obj.someProperty;
}
Я предположил, что возвращаемое значение этой функции - логическое значение (как мне подсказывает WebStorm ). Но компилятор TypeScript жалуется на возвращаемое значение ether undefined | string
.
Мой вопрос
Как написать правильную встроенную проверку свойства в TypeScript, которая действительно в любом случае возвращает логическое значение?
Я мог бы написать:
function test(obj?: { someProperty: string}) {
return !!(obj && obj.someProperty);
}
Но некоторым людям это кажется немного неудобным.