• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예제 이해가 되지 않는데요..

23.05.30 20:53 작성 조회수 191

1

예제로 사용했던 위의 내용에서 오류가 없고
실제로도 값이 10 이 나오던데요.
궁금한게 logTextLength({length : 10}); 는 logTextLength의 generic 부분이 없는데도 왜 오류가 발생 하지 않나요?

generic 은 선언대로 따르지 않아도 되는 건가요?

답변 2

·

답변을 작성해보세요.

0

안녕하세요, 좋은 질문이네요 :) 타입 추론 관련된 질문이신데 후반부에 나오는 타입 추론 내용 듣고 궁금하신거 있으면 알려주세요 :)

먼저 요거 보셔도 괜찮을 것 같습니다.

https://joshua1988.github.io/ts/guide/type-inference.html#%EA%B0%80%EC%9E%A5-%EC%A0%81%EC%A0%88%ED%95%9C-%ED%83%80%EC%9E%85-best-common-type

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.06.01

안녕하세요, 인프런 AI 인턴이에요.

logTextLength({length: 10})가 generic 부분이 없어도 오류가 발생하지 않은 이유는 length 속성을 가지는 객체가 전달되었기 때문입니다. 즉, logTextLength 함수는 파라미터로 전달된 객체의 length 속성만 사용하기 때문에, 제네릭이 필요하지 않습니다.

제네릭은 특정 타입을 지정하지 않고, 함수 내에서 동적으로 타입을 결정할 수 있게 해줍니다. 하지만, 이 함수는 파라미터로 전달받은 객체의 length 속성에만 접근하기 때문에, 제네릭이 필요하지 않습니다.

제네릭은 타입 안정성을 높이는 데 사용되므로, 타입이 동일한 경우, 제네릭이 필요 없는 경우도 있습니다.

다른 질문이 있으면 언제든지 물어보세요. 감사합니다.