Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

developer_kcm

타입스크립트 문법 (함수) 본문

Typescript

타입스크립트 문법 (함수)

fullkeem 2024. 6. 2. 23:42
interface Cat {
  name: string;
  age: number;
}

const cat: Cat = {
  name: 'Lucy',
  age: 3
}
// 명시적 this 타입
function hello(this: Cat, message: string) {
  console.log(`Hello ${this.name}, ${message}`);
}

hello.call(cat, 'You are pretty awesome!');

 

오버로딩(overloading)

 

- 다양한 인자 타입을 처리하기 위해 동일한 함수 이름을 여러번 선언하는 방법

1. 타입 선언
function add(a: string, b: string): string; // 문자열을 인자로 받아서 문자열을 반환
function add(a: number, b: number): number; // 숫자를 인자로 받아서 숫자를 반환

2. 함수 구현
function add(a: any, b: any): any {
  return a + b;
} // 위에 선언된 시그니처들에 맞게, 문자열이면 문자열 결합, 숫자면 숫자를 더함

add('hello ', 'world~');  // 'hello world'
add(1, 2);  // 3
add('hello ', 2); // 에러 발생
add('hello', 2); // 에러 발생

 

- 오버로드 시그니처에 정의되지 않은 인자 타입 조합은 허용하지 않는다.

- 실제 구현은 하나만 작성. 구현된 함수는 모든 오버로드 시그니처를 만족시켜야 한다.

- 함수 호출 시 오버로드 시그니처와 일치하는지 검증하여 일치하지 않다면 에러 발생! 

'Typescript' 카테고리의 다른 글

tsconfig.json 구성 옵션  (0) 2024.06.10
타입스크립트 문법 (접근 제어자)  (0) 2024.06.03
타입스크립트 문법 (Interface, Alias)  (0) 2024.06.01
타입스크립트 문법 (타입)  (0) 2024.05.30