[TS] 클래스
TIL
타입스크립트에서는 클래스의 필드를 선언할 때 타입 주석으로 타입을 함께 정의해야 한다.class Employee { name: string = ""; hp: number = 0; position: string = "";}각 필드에 타입을 명시하고 초기값을 설정했다. 타입스크립트에서는 필드 선언 없이 바로 사용할 수 없으므로 반드시 클래스 본문에 필드를 먼저 정의해야 한다. 초기값 대신 생성자를 통해 필드를 초기화할 수도 있다.class Employee { name: string; hp: number; position: string; constructor(name: string, hp: number, position: string) { this.name = name; this.hp ..
[TS] 인터페이스 선언 합침
TIL
타입 별칭은 동일한 이름으로 중복 선언할 수 없다.// ❌type Person = { name: string;};type Person = { age: number;};이렇게 동일한 이름의 타입 별칭을 선언하면 오류가 발생한다. 반면 인터페이스는 동일한 이름으로 중복 선언이 가능하다.따라서 위 코드에서 선언한 Person 인터페이스들은 합쳐져 다음과 같은 인터페이스가 된다.interface Person { name: string; age: number;}이제 Person타입의 객체를 만들 때는 두 프로퍼티를 모두 포함해야 한다.const person: Person = { name: "고견", age: 100,}; 주의할 점동일한 이름의 프로퍼티를 서로 다른 타입으로 정의하면 충돌이 발생한..
[TS] 인터페이스 확장
TIL
인터페이스 확장이란 하나의 인터페이스를 다른 인터페이스들이 상속받아 중복된 프로퍼티를 정의하지 않도록 도와주는 문법이다. [TS] 인터페이스인터페이스(Interface)란 타입 별칭과 동일하게 타입에 이름을 지어주는 또 다른 문법으로,상속, 합침 등의 특수한 기능을 제공하기 때문에 객체의 구조를 정의하는 데 특화되어 있다.// 타입 별칭tdevmark.tistory.com interface 타입이름 extends 확장_할_타입이름이렇게 extends 뒤에 확장할 타입의 이름을 정의하면 해당 타입에 정의된 모든 프로퍼티를 다 가지고 오게 된다.interface Animal { name: string; color: string;}interface Dog extends Animal { isBark: bo..