// 기본
function add(a:number, b:number):number{
return a+b;
}
console.log(add(1,2));
// type alias
type AddType=(a:number, b:number)=>number; // 1
let add: AddType=(a,b)=>{return a+b;} // 2
console.log(add(1,2));
type Log = (log:string, name?: string) => void // 단축형
type Log = { (log:string, name?:string):void } // 전체 호출형
1. 함수의 타입을 선언하면서 인자의 타입, 반환값의 타입을 선언한다.
2. add를 선언하면서 타입을 함수타입으로 결정, 그 다음부터는 화살표 함수대로 진행이 된다. 2의 인자는 아무렇게나 지어주어도 된다.
// callback 함수를 인라인으로 선언하기
function times(f:(index: number)=>void, n: number){
for (let i=0; i<n; i++){
f(i);
}
}
// callback함수인 f를 받고 인자로 i값을 넣어주며 n까지 실행시킨다.