해결된 질문
작성
·
41
0
섹션2
18. Void 와 Never 에서 질문이 있습니다.
a 변수에는 아무것도 담을 수도 없고 null 안되고..아무것도..안되는데..
그러면..이런 변수를 뭐하러 작성을 하나요? 어디 쓸모가 있는 건가요??
답변 2
0
안녕하세요 민경언님 이정환입니다.
never 타입의 필요성에 대해 질문주신걸까요? 아니면 never 타입으로 정의된 변수 a의 필요성에 대해 질문 주신걸까요?
"이런 변수를 뭐하러 작성을 하나요?" 라는 말씀으로 미루어보아 a 변수의 필요성에 대해 질문하신 걸로 이해하고 답변을 드리자면 ...
해당 변수는 never 타입의 특징(never에는 아무런 값도 포함되지 않는다)을 이해시켜드리기 위해 실습 예제에서 준비한 변수일 뿐 입니다. 따라서 말씀하신 것 처럼 실제 개발을 진행하는 상황에서는 사용할 일은 없습니다.
만약 never 타입 자체의 필요성에 대해 궁금하신거라면 해당 챕터에서 소개해드리는 것 처럼 아무런 값도 반환할 수 없는 함수 (무한루프 or 오류 발생) 등의 반환값 타입으로 활용하거나, 이후에 9섹션에서 다룰 조건부 타입에서 매우 유용하게 활용됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 민경언님.
never
타입에 대해 궁금증이 있으신 것 같네요. 간단히 설명하자면, never
타입은 TypeScript에서 절대 발생하지 않는 값, 즉 절대 리턴되지 않는 함수나 상황을 표현할 때 사용합니다. 일반적으로 never
타입은 두 가지 주요한 상황에서 사용됩니다:
never
타입은 항상 오류가 발생하거나 함수가 끝없는 루프로 돌아가는 경우에 주로 사용됩니다. 예를 들어, 함수가 항상 오류를 던질 때, 반환할 값이 없기 때문에 never
타입으로 선언합니다. function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {}
}
never
타입을 사용합니다. 확장성을 위해 모든 가능한 경우의 수를 체크하고, 특정 값이 결코 올 수 없음을 명확하게 하기 위해 사용되기도 합니다.변수에 never
를 명시적으로 지정하는 경우는 드물지만, 타입스크립트가 컴파일 타임에 오류를 잡아내는 데 매우 유용합니다. 특히 함수의 반환 타입 검사나 불가능한 코드 경로를 안정적으로 필터링하는 데 많이 활용됩니다.
관련해서 never
타입의 실제 사용 사례나 원리에 대한 더 깊은 이해를 돕고자 한다면, 다음 링크를 참고해 보세요:
- 타입스크립트의 never 타입 이해하기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.