728x90

https://codingapple.com/course/typescript-crash-course/

 

빠르게 마스터하는 타입스크립트 - 코딩애플 온라인 강좌

  누구나 마음 한켠엔 나만의 웹서비스를 만들고 싶어합니다. 프론트엔드는 어찌저찌 하겠는데 서버 만드는게 어렵고 귀찮다고요? 그렇다면 Firebase를 쓰십시오.   구글이 웹서버를 대신 만들어

codingapple.com

본 블로그는 해당 타입스크립트 강의(코딩애플) 수강 후, 작성된 게시물입니다.


function

함수 형태 ▼

더보기
기본 함수 형태
사용 방법

타입 미지정 시, any type ▼

더보기
타입 미지정 시, any type이 할당된 것을 확인할 수 있다.
마찬가지로 parameter에도 타입을 지정하지 않아, any type인 것을 확인할 수 있다.

 

함수 타입지정 형태 ▼

function 함수(x :파라미터타입지정) :리턴타입지정 {
	return x*2;
}

타입 지정한 함수 예시
타입 에러가 난 함수 예시

 

중요 ★
타입이 지정된 파라미터는 필수기 때문에, 반드시 입력을 해주어야 한다.
(자바스크립트와 다름(자바스크립트는 파라미터가 필수가 아님))

파라미터를 옵션으로 주고싶다면, '?' 파라미터 뒤에 물음표를 붙이면 된다.
function 함수(x? :number) :void {
	// code
}
함수();	// No error
옵션 파라미터 예제


하지만, ?의 의미는 사실 undefined를 union type으로 사용한 것과 같다.

function 함수(x :number|undefined) :void {
	// code
}

 

의미가 undefined를 union type인거지, 사실상 직접 사용은 안되나봄(개인 의견)
그리고, ?가 undefined를 union type으로 갖는거라면, 연산에서 오류가 나야하는데 그렇지도 않음 → 고로 의미만 그런거지 실제 사용에서는 그 특성을 따라가지는 않는 거라 판단(개인 의견, "아니면.. 문법 버전이 업그레이드 되었나?")

function void type

void : return할 데이터가 없는 타입

function 보이드함수(x :number) :void {
	console.log(x+1);
}

function void type 예제
void 타입으로 리턴하지 않아 오류가 난 예제

 


※ 참고

다음 함수가 오류가 나는 이유는?

더보기
타입스크립트는 엄격하기 때문에 untion type으로 명시된 파라미터를 연산하지 않는다. 무조건 number type만 연산한다.
// 해결방법 : 지정된 타입만 들어오도록 제한한다.(Narrowing)
function 보이드함수4(x :number|string) :void {
	if(x가 number라면){		// Narrowing
    	console.log(x + 2);	 // error
    }
}
보이드함수4(3);
728x90

+ Recent posts