본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


TypeScript

Typescript 함수

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 4. 26.

 

 

일반적인 함수의 형태는 자바스크립트와 다르지가 않다.

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 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글