함수라는 문법은 원래 용도가 긴 코드 짧게 축약하려고 만든 것도 있으나
실은 어떤 자료를 입력하면 다른 자료를 출력하는 역할도 한다.
function 내함수(x){
return x * 2
}
내함수(2); //이러면 4가 이 자리에 남음
내함수(4); //이러면 8이 이 자리에 남음
소괄호 안에 들어가는 x같은 자료들을 파라미터라고 부르고
return 오른쪽에 있는 자료들을 리턴값 이런식으로 부른다.
함수는 총 두 군데 타입지정이 가능합니다.
- 함수로 들어오는 자료 (파라미터)
- 함수에서 나가는 자료 (return)
function 내함수(x :number) :number {
return x * 2
}
함수는 특이하게도 void라는 타입을 사용가능하다.
'아무것도 없이 공허함'을 뜻하는 타입인데
return할 자료가 없는 함수의 타입으로 사용가능하다.
function 내함수(x :number) :void {
return x * 2 //여기서 에러남
}
파라미터가 옵션 일 경우
function 내함수(x? :number) {
}
내함수(); //가능
내함수(2); //가능
파라미터 우측에 그냥 물음표치면 된다.
그럼 앞으로 내함수()를 사용할 때 파라미터없이도 쓸 수 있다.
근데 물음표는 실은 x : number | undefined 이거랑 똑같은 의미