본문 바로가기

tsc3

타입스크리트 / type 과 interface 의 차이 계기 사내 프로젝트 코드 분석 중 어떤 곳에는 type를 쓰고 어떤 곳에는 interface를 써서 정확히 어떤 차이점이 있는지 이해할 수 없었다. 확장하는 방법 ( 상속 ) interface AnimalInterface { species: string height: number weight: number } interface AfricaAnimal extends AnimalInterface { continent: string } interface는 extends로 확장한다. type AnimalType = { species: string, height: number, weight: number } type AfricaAnimal = AnimalInterface & { continent: string }.. 2022. 2. 11.
타입스크립트 / generic 제너릭 [ Generic ] 선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법이다. 데이터 타입을 정하지 않고 외부에서 지정하는 방법 여러 가지 타입에서 동작하는 컴포넌트를 생성하는데 사용 특징 컴파일시 타입 안정성을 보장한다. 캐스팅 관련 코드를 제거할 수 있다. 코드 예시 자료구조 클래스로 예를 들어보겠다. class stack { private data: any[]= []; constructor(){} public push(item: any) { this.data.push(item) } public pop():any { return this.data.pop(); } ... } export default stack 해당 자료구조엔 어떤타입.. 2022. 2. 2.
캐스팅 || 업캐스팅 || 다운캐스팅 || 타입스크립트 에서의 타입캐스팅 캐스팅 캐스팅이란 타입을 변환하는 것을 말하며 형변환이라고도 한다. 상속 관계에 있는 부모와 자식 클래스 간에는 서로 간의 형변환이 가능하다. 업캐스팅(Upcasting) 업캐스팅이란 자식 클래스의 객체가 부모 클래스 타입으로 형변환 되는 것을 말한다. 아래 코드에서 부모 클래스는 Person, 자식 클래스는 Student이다. 아래 코드에서 Person p = s; 부분이 업캐스팅한 부분이다. p가 Student 객체를 가리키지만, p는 Person 타입이기 때문에 Person 클래스의 멤버에만 접근이 가능하다. 그렇기 때문에 p.check에서 컴파일 타임 에러가 발생한다. class Person{ String name; Person(String name){ this.name = name; } } cl.. 2022. 1. 20.