typescript unknown, never type

cptkuk91·2022년 12월 12일
1

TypeScript

목록 보기
6/13

알 수 없는 type

let userInput: unknown; // any로 바꿔줄 경우 userName = userInput 작동
let userName: string;

userInput = 5;
userInput = "Max";
// userName = userInput; 에러입니다.

우선 unknown은 any와 다르게 작동합니다.

unknown의 경우 엄격한 검사를 진행하기 때문에,

let userInput: unknown; // any로 바꿔줄 경우 userName = userInput 작동
let userName: string;

userInput = 5;
userInput = "Max";

if(typeof userInput === "string"){
	userName = userInput;
}

if문을 통해 type 검사를 한 번 더 진행하면 에러를 막을 수 있습니다.
if문 없이 userName = userInput 작성 할 경우 에러를 반환합니다.


절대 type

function generateError(message: string, code: number): never {
	throw {message: message, errorCode: code};
}

generateError("Error 발생", 500);

함수에 마우스를 올리면 void 값을 올려서 확인할 수 있지만, never값을 적어줘 type의 절대값을 적용해 줄 수 있다.

never를 사용하는 경우, 의도하지 않은 api 사용 방지, 조건문에 도달할 수 없게 막을 수 있습니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글