inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트 입문 - 기초부터 실전까지

타입 제한 질문드립니다

해결된 질문

268

박재영

작성한 질문수 8

3

interface LengthType { 
  length: number; 
} 
function logTextLength<T extends LengthType>(text: T): T { 
  text.length; 
  return text; 
}

logTextLength('10');

https://www.inflearn.com/questions/411248 여기서

인자로 '10'이 length프로퍼티를 가진 객체만 가능하다고 하셨고 여기까진 이해 했습니다.

근데 '10'은 문자열로 프로토타입 체인상에 length프로퍼티를 갖지만 객체가 아니지 않나요 ?

 

+ 인터페이스는 객체의 프로퍼티 타입을 정의할 때만 사용하는것인지요 ? 

감사합니다:)

 

타입 javascript es6 typescript

답변 2

1

캡틴판교

안녕하세요 재영님, '10'은 객체가 아니지만 length 프로퍼티를 갖는 데이터라서 위 제네릭 타입 정의 코드에 호환됩니다. 추가로 문자열 데이터도 따지고 보면 객체를 상속 받아 제작된 데이터 타입입니다.

인터페이스는 변수, 함수, 클래스 등 다양한 곳의 타입 정의를 위해 사용됩니다 :)

0

별자리

저도 궁금했는데 궁금증이 해결되었습니다 감사합니다!

TSLint

0

66

1

vscode eslint server 오류

0

75

1

안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.

0

77

1

live server 설치 오류

1

370

2

강의 교안 pdf 는 따로 제공하지않나요?

0

284

2

npm i 설치 이유 문의

1

404

3

index.ts Delete &#x60;␍&#x60;eslintprettier/prettier 오류(빨간줄) 해결

2

289

3

vue 에서 jquery 사용 문제

1

692

2

TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.

1

499

2

강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요

1

542

1

section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?

1

452

2

함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다

2

455

1

파일이 다른데 식별자가 중복되었다고 뜹니다.

1

443

2

빨간줄 에러 질문드립니다

1

489

2

마우스 갖다대면 리턴값 설명 나오는 거 질문드려요

1

356

2

js에서 @ts-check 적어도 체크하지 못하는 문제입니다

2

393

2

index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다

1

566

2

섹션 1-3 추론 질문드립니다

1

354

2

왜 api쪽에는 왜 에러가 안나는지 궁금합니다.

1

323

2

const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?

1

391

1

전화번호부 타입선언

1

266

2

타입을 전역으로 분리

1

593

2

객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?

1

460

1

Git 관련 질문이 있습니다

1

670

2