본문 바로가기

TypeScript

TypeScript에서 추가된 함수 기능들!

 

1. 함수에 타입 더하기

// JavaScript
const jsAdd = (num1, num2) => {
  return num1 + num2;
}

// TypeScript
const tsAdd = (num1: number, num2: number): number => {
  return num1 + num2;
}

 

2. 타입 추론 (Type Inference)

타입을 명시하지 않아도, 지정한 값을 통해 알아서 추론한다.

let x = 3;		// x의 타입을 number로 추론
x = true;		// 에러 발생

const arr = [1, 2, 3]	// arr의 타입을 number[]로 추론
arr.push('Noah')	// 에러 발생

 

3. 옵셔널 파라미터 (Optional Parameters)

JavaScript에는 옵셔널 파라미터가 없고 기본값을 지정해야만 한다.

TypeScript는 '?' (물음표)를 통해 옵셔널 파라미터를 표현할 수 있다.

디폴트 파라미터는 JavaScript와 동일하다.

// 옵셔널 파라미터
const printName = (firstName: string, lastName?: string) => {
  console.log(`${firstName} ${lastName}`);
}

printName('Noah', 'Lim');	// Noah Lim
printName('Noah');		// Noah undefined
// 디폴트 파라미터
const printName = (firstName: string, lastName = "Kim") => {
  console.log(`${firstName} ${lastName}`);
}

printName('Noah', 'Lim');	// Noah Lim
printName('Noah');		// Noah Kim

 

4. 나머지 파라미터 (Rest Parameters)

const printName = (firstName: string, ...restOfName: string[]) => {
  return firstName + ' ' + restOfName.join(' ');
}

console.log(printName('Noah', 'Sunghoon', 'Lim'));	// Noah Sunghoon Lim