[typescript] 타입의 확장과 구현

타입스크립트(TypeScript)는 정적 타입 체크와 타입 추론을 통해 JavaScript 코드의 안정성을 높여주는 현대적인 언어입니다. 이 언어에서는 기본 타입을 확장하거나 인터페이스를 구현하는 방법에 대해 알아보겠습니다.

기본 타입의 확장

타입스크립트에서 기본 타입을 확장하여 새로운 타입을 정의할 수 있습니다. 예를 들어, number 타입에 새로운 속성을 추가하고 싶을 때, 인터페이스를 사용하여 확장할 수 있습니다.

interface ExtendedNumber extends number {
  format: (val: number) => string;
}

const myNumber: ExtendedNumber = 10;
myNumber.format = (val) => `$${val.toFixed(2)}`;
console.log(myNumber.format(myNumber));  // 출력: $10.00

위 예제에서 ExtendedNumber 인터페이스는 number 타입을 확장하고 format이라는 새로운 메서드를 추가합니다.

인터페이스의 구현

인터페이스를 구현하는 것은 클래스나 객체가 해당 인터페이스의 요구 사항을 충족시키도록 하는 것을 의미합니다.

interface Printable {
  print: () => void;
}

class Document implements Printable {
  print() {
    console.log('Printing document...');
  }
}

function printDocument(doc: Printable) {
  doc.print();
}

const myDoc = new Document();
printDocument(myDoc);  // 출력: Printing document...

위 예제에서 Document 클래스는 Printable 인터페이스를 구현하고, printDocument 함수는 Printable을 구현한 객체를 인수로 받아 호출합니다.

타입스크립트(TypeScript)를 사용하면 기본 타입을 확장하거나 인터페이스를 구현하여 코드의 안정성과 유지보수성을 향상시킬 수 있습니다.

마치며

이번 포스트에서는 타입스크립트에서의 타입 확장과 인터페이스 구현에 대해 살펴보았습니다. 이러한 기능들을 적절히 활용하면 코드의 가독성과 유지보수성을 높일 수 있습니다.

참고 자료: 타입스크립트 핸드북