-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
제네릭 인터페이스 & 제네릭 타입 별칭 수업 질문있습니다.
23.12.06 18:56 작성 23.12.06 18:56 수정 조회수 180
0
학생만 사용할 수 있는 함수 goToSchool을 제작할 때 불필요한 타입 좁히기를 피하기 위해서 제네릭을 인터페이스에 활용한다고 하셨는데 처음부터 type을 Student라고 한다면 불필요한 타입 좁히기를 사용할 일이 없지 않나라는 궁금증이 생겨서 질문드립니다. ㅠㅠ
<아래와 같은 코드>
// 1번 학생을 위한 함수
function goToSchool(user: User) {
if(user.profile.type !== "Student") {
user.profile // 개발자
console.log("잘못오셨습니다")
return
}
user.profile // 학생
}
// 2번 학생을 위한 함수
function goToSchool(user: User) {
if(user.profile.type === "Student") {
user.profile // 학생
console.log("잘못오셨습니다")
}
}
답변을 작성해보세요.
1
이정환 Winterlood
지식공유자2023.12.07
안녕하세요 이정환입니다!
우선 넵 그렇습니다.
딱 이 예제만으로 살펴보자면 매개변수의 Type을 Student로 애초에 정의해두면 타입 좁히기를 사용할 필요는 없습니다.
다만 강의 중에는 제네릭과 타입 좁히기를 조금 현실에 만나볼 수 있는 예제와 함께 설명해드리기 위해 요렇게 의도적으로 사용한 점을 참고해주시면 감사하겠습니다 😃
답변 1