함수에 타입지정
- 함수로 들어오는 자료 (파라미터)
- 함수에서 나가는 자료 (return)
function 내함수(x :number) :number {
return x * 2
}
- 함수에 들어오는 파라미터 타입지정은 파라미터 옆에 적는다.
- 함수가 실행된 후 남는 값 (return 값) 타입지정하고 싶으면 함수명()우측에 적는다.
- 파라미터에 타입을 지정하면 필수 파라미터가 된다.
void type
- return 할 자료가 없는 함수의 타입으로 사용가능하다.
- 함수에 return 방지장치를 주고 싶을때 void타입을 활용하면 된다.
function 내함수(x :number) :void {
return x * 2 //여기서 에러남
}
파라미터가 옵션일 경우
- 파라미터 우측에 물음표를 쓴다. 이 물음표는 x:number|undefined 와 같은 의미이다.
- 파라미터가 정의가 안되면 자동으로 undefined 된 것과 같은 의미다
function 내함수(x? :number) {
}
내함수(); //가능
내함수(2); //가능
함수에서 union type을 사용할때
- 함수에 숫자 또는 문자를 넣으면 +1 해주는 함수
function 자릿수세기(x :number | string){
return x + 1
}
- 타입스크립트에서는 변수의 타입이 numver | string 이러한 union type인 경우 자료 조작을 금지한다. 아직 이 파라미터 타입이 확실하지 않기 때문에 파라미터 조작을 일단 실드로 막고 금지하는 것이다.
- x라는 파라미터는 옵션이고, 옵션인 파라미터는 number | undefined 이런 식으로 타입정의가 되기 때문에 아직 x라는 파라미터가 확실하지않기 때문에 에러가 난다.
function 내함수(x? :number) :number {
return x * 2
}