오버로딩
함수의 모양이 같지만, 타입이 다른 경우 아래처럼 함수를 2개 만들어 사용하는 방법이 있다.
function add1(a: string, b: string) {
return a + b;
}
function add2(a: number, b: number) {
return a + b;
}
add1('hello ','world');
add2(1,2);
// add1('hello ',2); // 에러발생
// add2('hello ',2); // 에러발생
또 다른 방법으로 오버로딩을 사용할 수 있다. 오버로딩을 사용하는 법은 아래와 같다.
function add(a: string, b: string):string // 타입 선언하는 부분
function add(a: number, b: number):number // 타입 선언하는 부분
function add(a: any, b: any) { // 함수를 구현하는 부분, 오버로딩을 위해 any로 설정
return a+b
}
add('hello ','world');
add(1,2);
// add('hello ',2); // 에러발생
// add(1, 'hello '); // 에러발생
함수의 타입 선언하는 부분을 쌓아주고, 마지막에 구현해준다. 이렇게 하면 위에 있는 함수와 같은 기능을 한다.
사용이 유연한 JavaScript에서와는 달리, TypeScript에서는 사용법을 정확히 명시해주어야 한다.
'TYPESCRIPT' 카테고리의 다른 글
[Typescript] 제네릭 (Generic) (0) | 2023.12.12 |
---|---|
[Typescript] 클래스와 접근제어자 (0) | 2023.12.12 |
[Typescript] this의 타입 (0) | 2023.12.12 |
[Typescript] 타입 별칭(Type Alias) (0) | 2023.12.12 |
[Typescript] 인터페이스 (interface) (0) | 2023.12.04 |
오버로딩
함수의 모양이 같지만, 타입이 다른 경우 아래처럼 함수를 2개 만들어 사용하는 방법이 있다.
function add1(a: string, b: string) {
return a + b;
}
function add2(a: number, b: number) {
return a + b;
}
add1('hello ','world');
add2(1,2);
// add1('hello ',2); // 에러발생
// add2('hello ',2); // 에러발생
또 다른 방법으로 오버로딩을 사용할 수 있다. 오버로딩을 사용하는 법은 아래와 같다.
function add(a: string, b: string):string // 타입 선언하는 부분
function add(a: number, b: number):number // 타입 선언하는 부분
function add(a: any, b: any) { // 함수를 구현하는 부분, 오버로딩을 위해 any로 설정
return a+b
}
add('hello ','world');
add(1,2);
// add('hello ',2); // 에러발생
// add(1, 'hello '); // 에러발생
함수의 타입 선언하는 부분을 쌓아주고, 마지막에 구현해준다. 이렇게 하면 위에 있는 함수와 같은 기능을 한다.
사용이 유연한 JavaScript에서와는 달리, TypeScript에서는 사용법을 정확히 명시해주어야 한다.
'TYPESCRIPT' 카테고리의 다른 글
[Typescript] 제네릭 (Generic) (0) | 2023.12.12 |
---|---|
[Typescript] 클래스와 접근제어자 (0) | 2023.12.12 |
[Typescript] this의 타입 (0) | 2023.12.12 |
[Typescript] 타입 별칭(Type Alias) (0) | 2023.12.12 |
[Typescript] 인터페이스 (interface) (0) | 2023.12.04 |