티스토리 뷰

반응형
함수에 type alias 지정하기

 

 

function 함수(a : string) : number{

}

함수에 타입 지정하는 방법은 코드가 너무 길어진다.

너무 길고 복잡할 땐 함수타입도 type alias로 저장해서 쓸 수 있음

 

 

파라미터는 문자로 받고 숫자를 return 하는 타입을 만들고 싶으면

type 함수타입 = ( a : string ) => number

화살표 함수에 넣으면 된다.

만든 타입을 함수에서 사용하려면?

 

 

함수를 만들 때 함수 표현식으로 만들어서 함수명 옆에 타입을 넣어줘야 한다.

*함수 표현식 : 변수에 함수를 할당하는 방식으로 함수 정의

let 함수명 = function( ){ }

let 함수 : 함수타입 = function (){ 

}

 

 

* 함수 만드는 법

//함수 표현식
let 함수 = function ( ){

};


//함수 선언식
function 함수( ){ 

};

 

 

요약하자면

1. 함수 타입 type alias로 만들 땐 화살표함수 ( ) => { } 모양으로 만들고

2. 그 대신 변수 만들어서 쓰는 함수 표현식에만 type alias 사용 가능하다.

귀찮으면 그냥 함수 만들 때 직접 타입 작성해도 됨

 

 

 

object에 type alias 지정하기

 

 

object 안에도 함수를 넣을 수 있다.(일반함수, 화살표함수 전부 가능)

let 회원정보 = {
    name : "kim",
    //일반함수
    plusOne(a){
		return a + 1
    },
    //화살표함수
    changeName : ( ) => {
    	console.log('하이')
    }
}

//함수 사용하기
회원정보.plusOne(1) //2
회워정보.changeName(); //하이

그럼 object 안의 함수들 타입지정은 어떻게?

 

 

type 내타입 = {
    name : string,
    plusOne : (a:number)=>number,
    changeName : ()=>void,
}

plusOne과 changeName은 함수이므로 화살표 함수를 사용해 타입을 지정해줘야 한다.

 

 

 

 

 

만약 함수에 함수를 집어 넣고싶으면?

type cutZeroType = (a: string) => string;

let cutZero: cutZeroType = function (a) {
  let result = a.replace(/^0+/, "");
  return result;
};

type removeType = (a: string) => number;

let removeDash: removeType = function (a) {
  let result = a.replace(/-/g, "");
  return Number(result);
};


//위에서 만든 함수와 타입으로 함수 만들기
function 만들함수(x: string, func1: cutZeroType, func2: removeType) {
  let result = func1(x);
  let result2 = func2(result);
  console.log(result2);
}

console.log(만들함수("010-4138", cutZero, removeDash));

복잡하니까 type alias 안쓰고 바로 타입지정

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함