История изменений
Исправление anon1984, (текущая версия) :
Пока делал бутерброд, придумал такой костылик:
type Optional<T> = T|void;
function notNothing<T>(v: any): v is T {
return (v !== undefined);
}
let nullableString: Optional<String> = 'fufufu';
if (notNothing<String>(nullableString))
console.log(nullableString.length); //ok
console.log(nullableString.length); //error, property length does not exist on type String|void
Исходная версия anon1984, :
Пока делал бутерброд, придумал такой костылик:
type Optional<T> = T|void;
function notNoting<T>(v: any): v is T {
return (v !== undefined);
}
let nullableString: Optional<String> = 'fufufu';
if (notNoting<String>(nullableString))
console.log(nullableString.length); //ok
console.log(nullableString.length); //error, property length does not exist on type String|void