타입 미지정 시, 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);
}