여기서 함수타입을 contravariant하게 만들어주는 --strictFunctionTypes 옵션이 추가됬는데 지금은 디폴트가 됬는지 어쩐지 뭐 암튼 이제 해결된듯.
structural typing하고 관련있는지는 잘 모르겠음.
다른 것도 들었는데 ts를 몰라서 못알아들음
- dc official App
댓글 20
기반이 JS인건 어디 안가는듯
익명(175.223)2020-10-01 09:09
답글
이 댓글은 게시물 작성자가 삭제하였습니다.
이 댓글은 게시물 작성자가 삭제하였습니다.2026-08-01 12:30
이거 타입을 모르는 사람도 알아 들을 수 있는 설명은 불가능한가요
츄럴(211.197)2020-10-01 09:32
답글
OO type system의 class inheritance가 category 법칙(composition law)를 만족한다면 variance를 만족해야 type system이 sound하다는게 말이 됨. 이게 무슨 말인가하면 OO에서 variance를 만족 안하면 type system이 parent class가 chile class로 캐스팅되는 에러를 못잡음. 대표적인 예가 Java 쌩Array. 검색좀 해봤더니 paper같은건 안보이고 블로그글 하나 찾았음. 증명같은건 없고 그냥 그럴것이다로 썰풀어 나감. http://tomasp.net/blog/variance-explained.aspx/
asdf(220.95)2020-10-01 10:40
답글
오 코드가 있네여 저 블로그는.. 역시 저런걸 보여줘야..
츄럴(211.197)2020-10-01 12:07
답글
뭐 사실 카테고리까지 안가도 함수랑 subtyping relation을 좀 생각해보면 알 수 있음. 함수 인자에 대해서는 subtyping이 뒤집어짐. - dc App
다믜(damhiya)2020-10-01 18:14
아 어쩌구배리언트개념 따지는거 스칼라 찍먹할때 듣다가 머리 쥐났는데 여기서 또보네 ㅋㅋㅋ
익명(175.223)2020-10-01 10:17
그거 함수 인자에 한해서만 디폴트고 - dc App
코딩조무사(circir6174)2020-10-01 15:00
정작 필요한곳에서는 설정을 못함 react ref같은 것들 - dc App
코딩조무사(circir6174)2020-10-01 15:00
답글
HTML DOM을 집을때
INPUT은 INPUT으로 집고 DIV는 DIV로 집어야함
부모타입이 있는데 일반타입에 대해 contravariance를 못걸어서 상위타입으로 편하게 못집음 - dc App
코딩조무사(circir6174)2020-10-01 15:11
답글
HTMLELEMENT로 선언된거로는 못 집는다는 말이지?
익명(39.7)2020-10-01 19:17
웃긴건 저런 variance 관련 동작도 구조적타이핑으로 딸려온거고 사실 타입스크립트에는 없는 개념 - dc App
코딩조무사(circir6174)2020-10-01 15:02
근데 이런것들 애초에 가변이 존재하는 상황이면 쓰면 안대는데요 - dc App
코딩조무사(circir6174)2020-10-01 15:04
답글
A가 부모 B,C가 자식,
B의 배열을 A의 배열로 참조하고 다형성으로 C넣은다음 B배열 순회하면서 B에만 있는 메서드 호출 이런거 - dc App
코딩조무사(circir6174)2020-10-01 15:15
답글
그래서 애초에 가변이 많은 ts에선 있어도 문제고 없어도 문재인데 구조적 타이핑때문에 없을수가 없음 - dc App
기반이 JS인건 어디 안가는듯
이 댓글은 게시물 작성자가 삭제하였습니다.
이거 타입을 모르는 사람도 알아 들을 수 있는 설명은 불가능한가요
OO type system의 class inheritance가 category 법칙(composition law)를 만족한다면
variance를 만족해야 type system이 sound하다는게 말이 됨.
이게 무슨 말인가하면 OO에서 variance를 만족 안하면 type system이 parent class가 chile class로
캐스팅되는 에러를 못잡음. 대표적인 예가 Java 쌩Array.
검색좀 해봤더니 paper같은건 안보이고 블로그글 하나 찾았음. 증명같은건 없고 그냥 그럴것이다로 썰풀어 나감.
http://tomasp.net/blog/variance-explained.aspx/
오 코드가 있네여 저 블로그는.. 역시 저런걸 보여줘야..
뭐 사실 카테고리까지 안가도 함수랑 subtyping relation을 좀 생각해보면 알 수 있음. 함수 인자에 대해서는 subtyping이 뒤집어짐. - dc App
아 어쩌구배리언트개념 따지는거 스칼라 찍먹할때 듣다가 머리 쥐났는데 여기서 또보네 ㅋㅋㅋ
그거 함수 인자에 한해서만 디폴트고 - dc App
정작 필요한곳에서는 설정을 못함 react ref같은 것들 - dc App
HTML DOM을 집을때 INPUT은 INPUT으로 집고 DIV는 DIV로 집어야함 부모타입이 있는데 일반타입에 대해 contravariance를 못걸어서 상위타입으로 편하게 못집음 - dc App
HTMLELEMENT로 선언된거로는 못 집는다는 말이지?
웃긴건 저런 variance 관련 동작도 구조적타이핑으로 딸려온거고 사실 타입스크립트에는 없는 개념 - dc App
근데 이런것들 애초에 가변이 존재하는 상황이면 쓰면 안대는데요 - dc App
A가 부모 B,C가 자식, B의 배열을 A의 배열로 참조하고 다형성으로 C넣은다음 B배열 순회하면서 B에만 있는 메서드 호출 이런거 - dc App
그래서 애초에 가변이 많은 ts에선 있어도 문제고 없어도 문재인데 구조적 타이핑때문에 없을수가 없음 - dc App
소유권이 답이다 - dc App
존나 잘 아네 ㄷㄷ
이런건 많이 당해(?)보신 분들이 잘 알죠
스카이임? 3학년인데 콘트라 베리언튼지 바이 베리언튼지 이런거 첨들어보는데 어디서 배운거냐 ㄷㄷ
제너릭 있는 OOP 언어(C#,Scala,Java) 배우면 나옴. 나는 하스켈 하다가 봤지만 - dc App