You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A,B 두 타입이 존재할 때 B가 서브타입이면, A가 필요한곳에 어디든 B를 안전하게 사용할 수 있음을 의미합니다.
타입스크립트는 모든 복합 타입-객체, 클래스, 배열, 함수, 반환 타입-은 타입에 공변(convariant)합니다. (즉, B에 할당 가능한 A 객체는 B 서브타입을 만족시켜야 합니다.)
단, 함수 매개변수 타입은 반변(contravariance) 합니다. ( 서브타입을 만족시켜야 합니다. )
슈퍼타입을 데이터를 서브타입을 매개변수로 하는 함수를 수행하면, 슈퍼타입의 타입에 변경이 생기기 때문에 타입 에러가 발생한다.
퀴즈 정답
정답은 4번! (141페이지 참조)
아래 예제에서는 existingUser에서는 슈퍼타입에 해당하는 existingUser.id가 number 타입일 것이라 기대합니다. deleteUser 가 호출 된 후에는 id가 삭제되지만 슈퍼타입인 existingUser는 이를 알지 못합니다.
하지만, 타입스크립트는 이를 허용합니다.
타입스크립트는 완벽한 안전성을 추구하도록 설계되지 않았습니다. '실제 실수 잡는 것'과 '쉬운 사용'을 균형 있게 달성하는 것이 타입 시스템의 목표이기 때문입니다.
Activity
seojihwan commentedon Aug 7, 2022
퀴즈 정답
yeomgahui commentedon Aug 7, 2022
퀴즈 정답
dahye1013 commentedon Aug 8, 2022
아래 코드의
Type1,Type2은 무슨 타입일까요?퀴즈 정답
dahye1013 commentedon Aug 8, 2022
서브타입에 대한 설명 중 올바르지 않는 것은?
퀴즈 정답
정답은 4번! (141페이지 참조)
아래 예제에서는
existingUser에서는 슈퍼타입에 해당하는existingUser.id가 number 타입일 것이라 기대합니다.deleteUser가 호출 된 후에는 id가 삭제되지만 슈퍼타입인existingUser는 이를 알지 못합니다.하지만, 타입스크립트는 이를 허용합니다.
타입스크립트는 완벽한 안전성을 추구하도록 설계되지 않았습니다. '실제 실수 잡는 것'과 '쉬운 사용'을 균형 있게 달성하는 것이 타입 시스템의 목표이기 때문입니다.
jlee0505 commentedon Aug 8, 2022
Q1. 다음중 가변성의 네 종류 중 설명이 잘못된 것은? (복수 가능)
퀴즈 정답
jlee0505 commentedon Aug 8, 2022
Q2. 아래 빈칸을 채우시오.
타입스크립트에서 모든 복합 타입의 멤버는 ___ 이며, 함수 매개변수 타입만 예외적으로 __ 이다.
퀴즈 정답