이전에 함수에 들어갈 파라미터와 return으로 뱉을 값들을 타입지정할 수 있다고 했었다.
똑같이 함수 자체의 타입도 type alias로 지정해서 쓸 수 있다.
예를들어
- 숫자 두개를 파라미터로 입력
- 숫자를 return 하는 함수
를 type alias로 지정해주고 싶다면
type NumOut = (x:number, y:number)
=> number;
이렇게 해주면 된다.
하지만 이걸
이런식으로는 안된다.
function 키워드에는 () 내부랑 오른쪽에만 타입지정이 가능하기 때문이다.
그래서 어떻게 하냐
type NumOut = (x:number, y:number)=>number
let ABC : NumOut = function(x,y){
return x+y
}
이렇게 해준다.
object 자료 안에 함수도 마음대로 집어넣을 수 있다.
let 회원정보 = {
name : 'kim',
age : 30,
plusOne(x){
return x+1
},
changeName : () =>{
console.log('안녕')
}
}
회원정보.plusOne(1);
회원정보.changeName();
plusOne, changeName함수를 object 위처럼 자료에 넣을 수 있다.
(추가) 회원정보라는 변수에 타입지정 해보기
type Member = {
name:string,
age:number,
plusOne : (x:number) => number,
changeName : () => void
}
이렇게 만들고 잘 되는지 확인하고 싶다면
let 회원정보에 Member 타입을 넣어보면 된다.