-
[Typescript] Interface■ Front-End/- JavaScript & TypeScript 2022. 8. 2. 00:08
interface
인터페이스는 자바 공부할 때 배웠던 개념인데, ES6에서는 지원하지 않지만 Typescript에서는 인터페이스를 지원하고 있다.
일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용 가능하다.
인터페이스에 선언된 프로퍼티, 메소드 구현을 강제하여 일관성을 유지할 수 있다.
✅ interface vs class
인터페이스는 직접 인스턴스를 생성할 수 없고, 모든 메소드는 추상 메소드로 이루어져있다. (abstract 키워드 사용 X)
클래스는 직접 인스턴스 생성이 가능하다.
✅ Duck typing (덕타이핑)
인터페이스로 구현하지 않았지만, 해당 인터페이스에서 정의한 프로퍼티나 메소드를 갖고 있다면, 그 인터페이스를 구현한 것으로 인정한다. 구조적 타이핑(Structural typing)이라고도 한다.
✅ 선택적 프로퍼티
인터페이스의 프로퍼티는 반드시 구현되어야하지만 선택적으로 필요한 경우가 있을 수 있다. 이런 경우에 프로퍼티명 뒤에 '?'를 붙이면 생략하여도 에러가 발생하지 않는다. (주로 API Response 응답을 처리할 때 사용한다.)
참고 사이트 : https://poiemaweb.com/typescript-interface
'■ Front-End > - JavaScript & TypeScript' 카테고리의 다른 글
[Vite&Typescript] Dynamic Image src (0) 2022.08.10 모바일 웹 화면을 개발할 때 신경써야할 것들 (0) 2021.11.21 [Javascript] disabled, readonly (0) 2020.07.16 [Javascript] XSS, CSRF 공격 대응하기 (0) 2020.07.09 [Javascript] Array.prototype.findIndex() (0) 2020.07.07