never 형 문의
섹션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) {}
}
- 타입 수호(Type Guards)에서의 사용: 조건부 타입 체킹 중 절대 도달하지 않는 코드 경로를 명시하고 싶을 때도
never타입을 사용합니다. 확장성을 위해 모든 가능한 경우의 수를 체크하고, 특정 값이 결코 올 수 없음을 명확하게 하기 위해 사용되기도 합니다.
변수에 never를 명시적으로 지정하는 경우는 드물지만, 타입스크립트가 컴파일 타임에 오류를 잡아내는 데 매우 유용합니다. 특히 함수의 반환 타입 검사나 불가능한 코드 경로를 안정적으로 필터링하는 데 많이 활용됩니다.
관련해서 never 타입의 실제 사용 사례나 원리에 대한 더 깊은 이해를 돕고자 한다면, 다음 링크를 참고해 보세요:
- 타입스크립트의 never 타입 이해하기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>
0
15
2
outDir 옵션 추가 후 컴파일 오류 질문
0
51
1
호출 시그니처 질문
0
63
2
서로소 유니언 타입이 discriminated union과 동의어 인가요?
0
72
2
조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제
0
65
1
할인쿠폰 관련하여
0
151
2
프론트엔드에서의 인터페이스활용
0
90
2
안녕하세요 이정환님!
0
89
1
Node.js 설치에 관한 질문입니다.
0
79
2
함수 타입 호출 시그니처
0
56
1
35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?
0
62
2
인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?
0
114
4
마우스 호버 시 정보
0
90
2
vite으로 리액트 빌드하기를 업데이트해주세요.
1
89
2
타입가드를 만들어 사용하는 이유가 궁금합니다.
0
82
2
섹션 12가 너무 어려운데... 정상이겠죠..?
0
135
2
선생님.. 알고리즘도 강의해주시면안되나요
0
99
2
선생님은 어떻게 이런걸 아세요?
0
127
1
type: module
0
96
2
7:17초 업캐스팅 질문이있습니다!
0
75
1
슈퍼타입질문
1
61
2
프로젝트 설치
0
103
2
enum은 비원시 타입이면서 열거형 타입이 되는건가요?
0
67
2
함수는 함수타입? 객체타입??
1
91
2





