묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
제네릭에 never가 들어올 때 분배법칙
분배법칙의 작동방법 이해가 어려워 타입스크립트 교과서를 보던 중 모르는 부분이 생겨서 질문드립니다!해당 내용은 타입스크립트 교과서 p.111에 있는 내용인데요type R<T> = T extends string ? true : false; type RR = R<never>; 이 코드의 설명 부분이 아래와 같이 되어 있습니다.RR 타입이 true가 아니라 never인 이유는 T가 never가 되면서 분배법칙이 일어났기 때문이다.never는 공집합과 같으므로 공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것과 같다.따라서 결과는 never다.설명이 잘 이해가 되지 않아 질문 드립니다!분배법칙이 일어났다는 것은 never가 never|never로 유니언으로 분리되서 각각 타입검사를 하게 되는건가요?그렇다면 never extends string ? true : false 가 되어서 분배 되어 각각 타입검사를 해서 true | true 가 되고 최종적으로 true 가 되어야하지 않나요?공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것이라는 말이 무슨 말인지 잘 모르겠습니다..
-
미해결타입스크립트의 모든 것
제네릭 extends관련질문 있습니다.
function test<T extends object>(params:T){ params.hi()}위 코드에서 params.hi()는 타입을 보장할수 없다는 에러가 반환됩니다. 여기서 궁금한게 test<T extends object>를 해주었는데 왜 타입보장이 안된다구 하는지 모르겠습니다. 물론 hi의 타입을 몰른다 라구 하더라도 object 프로퍼티에 접근할때 dot으로 접근할수있는데 왜 타입 보장이 안된다고 하는걸까요??왜 따로 interface IHi를 만들어서 그거를 extends해줘야 하는것일까요?? 물론 IHi하면 타입을 좀더 촘촘하게 설정해주어서 params안에는 hi라는 메소드가 들어간다는걸 인지시켜줄순 있겠지만 그래도 오브젝트가 사용될수 없는 이유는 모르겠습니다.
-
미해결최신 SwiftUI와 UIKit과 함께하는 올인원 iOS 앱 개발 강의
강의순서가 바뀐 것 같아요!
extension강의와 generic강의가 바뀌었어용