TypeScript_10_함수의 타입 정의하기

지원·2023년 12월 15일
0

TypeScript

목록 보기
10/13
post-thumbnail

함수의 타입 정의하기

우선 상품 아이디를 프로퍼티 이름으로 하고
프로퍼티 값은 숫자형으로 재고숫자를 담고 있는 stock이라는 객체가 있다.

상품 아이디를 배열에 담고 있는 cart라는 배열이 있다.

재고를 확인하고 장바구니에 담는 addToCart라는 함수를 보겠다.
상품 아이디인 id와 장바구니에 넣을 갯수인 quantity라는 파라미터를 받는다.

재고가 없으면 false를 return하고
재고가 있으면 해당하는 재고 갯수에서 quantity를 뺀 다음에

장바구니에 quantity 갯수만큼 아이디를 추가해준다.

현재 프로젝트에서 strict 옵션이 켜져있다.
이 옵션을 키면 noImplicitAny라는 옵션이 켜지게 된다.

이 옵션은 암묵적으로 any를 선언하는 것을 방지하는 옵션이다.

함수의 타입을 선언하지 않으면
암묵적으로 any를 선언하는 것이기 때문에 타입오류가 나는 것이다.

파라미터 이름 옆에 : 을 쓰고 타입을 적어주면 된다.
마찬가지로 함수의 return 타입은 괄호 다음에 :을 쓰고 타입을 적어주면 된다.

파라미터에 곧바로 기본값을 적어줄 수도 있다.

함수 자체에 타입 정하기

앞에서 썼던 값들을 프로퍼티로 넣어줄 것이다.

함수의 타입을 정할 때는 화살표 문법과 비슷하다.

rest파라미터 타입 지정하기
rest 파라미터 : 매개변수 이름 앞에 세개의 점 ... 을 붙여서 정의한 매개변수

아이디를 여러 개 받아서 addToCart를 실행하는 함수에
rest파라미터에 배열로 지정해주면된다.

함수 자체에 타입을 지정해보면
string배열을 넣어주고 이 함수는 아무값도 리턴하지 않기 때문에
void라고 작성한다

0개의 댓글