1
strictNullChecks와 함께 작동하도록 모든 코드를 변환하기 시작했습니다. 함수의 입력이 string | null
내가 반환 형식이 어떻게이게 가능 string
공용체 형식에서 null을 제거하는 함수 시그니처 만들기
되고 싶은 경우
function defaultValue<TUnionNull>(value: TUnionNull, default: TWithoutNull): TWithoutNUll{
return value == null ? default : value
}
function requiresNotNullString(): void
var name: string | null;
var checkedName: string = defaultValue(name, "Fred");
즉 : 나는 다음을 수행하는 기능을 갖고 싶어? 에 대해 어떻게
감사합니다. 그것은 내가 지금 막 생각해 냈던 것과 거의 동일합니다. 그것은 작동하지만 당신이 함수에 타입을 전달할 것을 요구합니다 :'defaultValue (value, default)'' '이 필요 없다면 좋을 것입니다. –
Roaders
아니요, 컴파일러는'T' 기반을 추론합니다 당신이 '가치'로 전달하는 것에. 나는 당신의 코드를 검사했고'value'가'string | '인 경우에만 –
을 컴파일했습니다. null'이면 리턴 타입은'string | null' 그래서'var return : string = defaultValue ('null이 반환 될 수 있으므로 실패합니다.) – Roaders