[TypeScript] 함수에 type 입히기

dosilv·2021년 6월 17일
0
post-thumbnail

💎 함수에 type 입히기

💍 기본

들어올 파라미터반환할 결과값 각각의 타입을 지정해 준다.

예를 들어 JS문법으로 작성한 아래와 같은 덧셈 함수는

function add(a, b) {
  return a + b;
}

다음처럼 TS문법으로 나타낼 수 있다.

function add(a: number, b: number): number {
  return a + b;
}

💍 Optional / Default / Rest

🌊 Optional Parameter

전달해도 되고, 하지 않아도 되는 파라미터는 매개변수명 뒤에 물음표(?)를 붙이고 타입을 지정해 준다.

function sayHi(greeting: string, name?: string): string {
  return `${greeting}, ${name}!`;
}
console.log(sayHi('Hello', 'Doeun')); //Hello, Doeun!
console.log(sayHi('Hi')); //Hi, undefined!

하지만 위에서 볼 수 있듯이 인자가 들어오지 않은 매개변수는 undefined로 전달되니 주의..!


🌊 Default Parameter

인자가 들어오지 않았을 때, undefined가 아닌 특정 값을 디폴트로 전달하고 싶다면 타입 뒤에 = (default value)를 추가해 준다.

function sayHi(greeting: string, name: string = 'friend'): string {
  return `${greeting}, ${name}!`;
}

console.log(sayHi('Wassup')); //Wassup, friend!
function add(a: number, b: number = 1000): number {
  return a + b;
}

console.log(add(1)); //1001

🌊 Rest Parameter

인자의 갯수가 정해지지 않은 함수의 경우, spread 연산자(...) 이용해 파라미터를 설정하고 type을 Array로 지정한다. (데이터들은 동일한 타입이어야 함!)

function addAll(...nums: number[]) {
  return nums.reduce((a, b) => a + b);
}

console.log(addAll(1, 2, 3)) //6
console.log(addAll(1, 10, 100)) //111


🔹Reference🔹

함수 · GitBook

profile
DevelOpErUN 성장일기🌈

0개의 댓글