일반적인 함수의 형태는 자바스크립트와 다르지가 않다.
function method(a : number, b : string) : void { //리턴된 형태는 void 이다.
console.log(`first : ${a} second : ${b}`);
}
method(123, "Hi");
타입스크립트에서는 변수를 받을 때 물음표를 변수 옆에 붙여서 사용하여 변수 자체를 옵션처럼 받을수 있게 해 준다.
function method2(a : number, b? : string) {
console.log(`first : ${a} second : ${b}`);
}
method2(123); //두번째 Param이 없지만 옵션 형태 이므로(Optional) undefined가 출력
Java처럼 파라미터를 Rest형식으로 받을 수도 있다.
function restMethod(...nums:number[]) {
for(let i in nums){
console.log(nums[i]);
}
console.log(' - end - ');
}
restMethod(1,2,3) ;
restMethod(1,2,3,4,5);
변수를 받을 때 변수에 기본값을 설정 할 수도 있다.
function defaultMethod(a:number,b:number = 0) {
console.log(`first : ${a} second : ${b}`);
}
defaultMethod(100);
defaultMethod(100,200);
자바스크립트에 있는 함수 형태인 익명함수도 사용 가능하며 마찬가지로 람다식도 사용 가능하다.
var printer = function(a:number,b:number) : void { //익명함수
console.log(`first : ${a} second : ${b}`);
};
printer(1,2);
var lamda = (a : any,b : any) : void => console.log(`first : ${a} second : ${b}`); //람다식1
lamda(111,222);
var lamda2 = (a : any) : void=> { //람다식2
if(typeof a == 'number'){
console.log('number', a * 10);
} else {
console.log('string', a);
}
};
lamda2(100);
lamda2('hello');
* ts파일은 자바스크립트 형태 파일이 아니며, 컴파일 되기 전 형태의 파일이다.
* ts파일은 java처럼 java 파일 형태이지 class 파일 형태가 아니다.
* ts파일은 반드시 tsc 명령어를 통해 js 파일로 컴파일 해야 된다 (예: tsc 대상파일.ts) -> js파일을 만들어줌
* 만들어진 js 파일은 html에 넣어서도 사용 가능하며, 일일이 하기 귀찮을 때는 node 대상.js를 입력하면 결과를 볼 수 있다
반응형
'TypeScript' 카테고리의 다른 글
Typescript 인터페이스 (0) | 2019.04.26 |
---|---|
Typescript 유니언(Union) (0) | 2019.04.26 |
Typescript 배열 (0) | 2019.04.26 |
Typescript 자료형 (0) | 2019.04.25 |
TypeScript 시작 (0) | 2019.04.25 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글