타입스크립트 - 인터페이스

SEONGJIN LEE·2022년 3월 5일

typeScript

목록 보기
5/8

1. 인터페이스의 정의

인터페이스는 상호 간에 정의한 약속 혹은 규칙을 의미한다. 타입스크립트에서의 인터페이스는 보통 다음과 같은 범주에 대해 약속을 정의할 수 있다.

• 객체의 스펙(속성과 속성의 타입)
• 함수의 파라미터
• 함수의 스펙(파라미터, 반환 타입 등)
• 배열과 객체를 접근하는 방식
• 클래스

2. 변수를 정의하는 인터페이스

자료 1) 변수에 활용한 인터페이스 예시

User라는 인터페이스를 정의하고, 그 속성의 타입을 정의함

3. 함수의 인자를 정의하는 인터페이스

자료 2) 함수에 활용한 인터페이스 예시

friend2에 address가 정의 되어 있지 않기때문에 오류가 뜨고있다

4. 함수 구조를 정의하는 인터페이스

자료 3) 함수구조에 활용한 인터페이스 예시

5. 인덱싱 방식을 정의하는 인터페이스

자료 4) 인덱싱 => index의 타입은 number, 배열(array)의 타입은 string으로 지정

배열의 타입은 string으로 정의 되어있는데 숫자 10을 변수에 담으려 했기에 문제가 발생함

6. 인터페이스 딕셔너리 패턴

자료 5) 딕셔너리 패턴 예시

StringRegexDictionary는 key로 'string', 값으로 '정규표현식'이 지정되어있다.
그러나 obj['cssFile']에 string을 담으려 했기에 문제가 발생함

7. 인터페이스 확장(상속)

자료 6) 인터페이스의 상속 예시

Developer는 Person을 상속받았다 => 즉 name과 age도 Developer에 명시 해줘야한다

8. appendix

자료 6) 인터페이스 사용 조건

인터페이스를 인자로 받아 사용할 때 항상 인터페이스의 속성 갯수와 인자로 받는 객체의 속성 갯수를 일치시키지 않아도 된다. 다시 말해, 인터페이스에 정의된 속성, 타입의 조건만 만족한다면 객체의 속성 갯수가 더 많아도 상관 없다는 의미. 또한, 인터페이스에 선언된 속성 순서를 지키지 않아도 된다.

profile
조금 늦어도 꾸준하게

0개의 댓글