TypeScript(타입스크립트) 함수

NSH·2022년 5월 29일
0

TypeScript

목록 보기
3/8

1 함수의 타이핑(Typing the function)

function add(x: number, y: number): number {
	return x + y;
}

각 파라미터 타입과 반활될 타입을 지정할 수 있다. 타입스크립트는 반환 문을 보고 반환 타입을 추론할 수 있으므로 반환 타입을 생략 할 수 있다.

2 함수 타입 작성하기(Writing the function type)

함수는 매개변수 타입, 반환 타입을 가진다. 전체 함수 타입을 작성하려면 이 두 가지 타입이 필요하다.

2.1 매개변수 타입(Parameter Type)

function greet(name: string) {
	console.log('Hello, ' + name.toUpperCase());
}

// 오류 발생
// Argument of type 'number' is not assignable to parameter of type 'string'.
greet(42);

함수를 선언할 때 각 매개변수 뒤에 타입을 지정할 수 있다. 매개변수에 타입이 지정되어 있다면 함수를 호출할 때 넣은 인자들을 검사한다.

2.2 반환 타입(Return Type)

function getFavoriteNumber(): number {
	return 26;
}

매개변수 목록 뒤에 반환 타입을 추가 수 있다. 하지만 타입스크립트는 return 문을 기반으로 함수의 반환 타입을 추론하기 때문에 일반적으로는 반환 타입을 지정하지 않아도 된다.

3. 선택적 매개변수와 기본 매개변수

함수에 주어진 인자는 함수가 기대하는 매개변수의 수와 일치해야 한다.

function getNames(firstName: string, lastName: string) {
	return firstName + ' ' + lastName;
}

getNames('nam');				// 오류, 너무 적은 매개변수
getNames('nam', 'sangho');		// 정상 작동
getNames('nam', 'sangho', 'ho');// 오류, 너무 많은 매개변수

3.1 선택적 매개변수(Optional Parameter)

타입스크립트에서 선택적으로 매개변수를 사용하고 싶다면 매개변수 이름 끝에 ? 를 붙여서 해결할 수 있다.

function getNames(firstName: string, lastName?: string) {
  	if(lastName) return firstName + ' ' + lastName;
	else firstName;
}

getNames('nam');				// 정상 작동
getNames('nam', 'sangho');		// 정상 작동
getNames('nam', 'sangho', 'ho');// 오류, 너무 많은 매개변수

3.2 기본 매개변수(Default Parameter)

기본 매개변수를 사용해서 값이 주어지지 않은 선택적 매개변수가 undefined가 아닌 기본 값을 갖게 할 수 있다.

function getNames(firstName: string, lastName?: string = 'sanghow') {
	return firstName + ' ' + lastName;
}

4. 나머지 매개변수(Rest Parameter)

때로는 다수의 매개변수를 그룹 지어 사용하거나, 얼마나 많은 매개변수를 취할지 모를 때가 있다.
타입스크립트에서는 이 인자들을 하나의 변수로 모을 수 있다.

function getNames(firstName: string, ...restOfName: string[]) {
	return firstName + ' ' + restOfName.join(' ');
}
profile
잘 하고 싶다.

0개의 댓글