inflearn logo
강의

講義

知識共有

TypeScriptを始める

ジェネリック

extends에 관하여

293

kimlink

投稿した質問数 2

0

extends에 대해 설명을 해주실때,

5분 53초에서 

A extends B => A 가 B 에 할당 가능해야 한다

라고 설명해주셨습니다.

뒤에 강의를 계속 듣다보니 extends가 상속의 개념이 강한것 같은것으로 이해됩니다.

A에 할당 가능한 타입이 더 많은데

A가 B에 할당 가능해야 한다는 개념이 이해가 안됩니다.

 

B의 타입을 A가 상속 받아

B의 타입을 A에서도 가지고 있으며,

A의 타입 일부가 B의 타입과 동일하다고 생각해야하는게 아닌가요?

 

'A 가 B 에 할당 가능해야 한다' 는 말이 잘 이해가 되지 않습니다.

 

 

extends typescript

回答 1

1

landvibe

안녕하세요
제네릭에서 사용한 extends 와 interface 에서 사용한 extends 는 서로 다릅니다
하지만 강의에서도 언급했듯이 왼쪽에 있는 것이 오른쪽에 있는 것으로 할당 가능하다는 사실은 같습니다

"A에 할당 가능한 타입이 더 많은데, A가 B에 할당 가능해야 한다는 개념이 이해가 안됩니다."
라고 하셨는데요
A에 할당 가능한 타입이 더 많지는 않습니다

강의에 있는 아래 코드를 보면,
interface Korean extends Person {
liveInSeoul: boolean;
}
Korean 은 Person 보다 속성이 하나 더 많죠.
속성이 많다는 것은 값의 범위가 더 작다는 것을 의미합니다 (제약이 더 많기 때문에)
자세한 내용은 "타입 호환성" 강의를 참고하시면 될 것 같습니다

0

kimlink

감사합니다.

무슨말인지 정확히 이해되었습니다!!

lodash 가 안될때

0

90

1

에궁 처음부터 막히네요...ㅜㅜ

0

76

1

[함수타입2] 함수 this에 대한 타입 부분, 제가 제대로 이해했을까요?

0

266

1

객체 할당 관련 질문 있습니다.

0

326

1

퀴즈 관련 질문이 있습니다.

0

344

1

공변성 강의

0

256

2

시간 4:31 인터페이스 타입가드에 대해

0

231

1

리턴값이 연산인 제네릭 에러 해결

0

428

2

code runner 사용 시 output이 깨지는 문제

0

2457

2

2: 38

0

196

1

5:55 내용에 대하여 질문드립니다.

0

440

2

return 타입

0

177

1

/bin/sh: node_modules/.bin/ts-node: No such file or directory 오류

0

364

1

Person 과 Product

0

208

1

tsc 기본이 es3

0

313

1

[#다시질문] Person과 Product 관계

0

160

1

타입스크립트 부분실행 질문드립니다

0

711

1

함수 타입2 에서 1:53

0

329

2

1:19 에서 interface String

1

272

2

안녕하세영 정리

0

167

1

this 질문

0

222

1

function add

0

179

2

타입스크립트 사용하는 이유 : 높은 생산성

0

198

2

코드

0

174

1