함수 선언문
function으로 만드는 자바스크립트 함수 선언문
function ABC(매개변수1, 매개변수2,[...]){
return() //함수몸통
}
// 자바스크립트의 함수 선언문
타입스크립트 함수 선언문(타입주석 추가)
function ABC(매개변수1: 매개변수1의 타입, 매개변수2: 매개변수2의 타입, [,...]) : 반환값(return) 타입 {
return //함수몸통
}
//타입스크립트의 function키워드 함수 선언문
ex
function add(a:number, b: number):number {
return(a + b)
}
매개변수와 반환값(return 값)의 타입 주석 생략
변수 때와 마찬가지로 함수 선언문에서도 매개변수와 반환값에 대한타입 주석을 생략할 수 있습니다.
(함수의 구현의도를 알기 어렵고 타입스크립트의 사용이유 퇴색)
void 타입
값을 반환하지 않는 함수는 return타입이 void입니다.
function printMe(name: string, age: number):void {
console.log(`name: ${name}, age: ${age}`)
}
함수 시그니처
변수에 타입이 있든 함수에 타입이 있는데 함수의 타입을 함수 시그니처(function signature)라고 합니다.
(매개변수1 타입, 매개변수2 타입, [, ...]) => 반환값 타입
//함수의 시그니처(타입) 표현
함수 시그니처 사용 예
let printMe: (string, number) => void = function (name: string, age: number): void{}
만약 매개변수가 없으면 단순히 ()로 표현합니다.
() => void는 매개변수도 없고 반환값도 없는 함수 시그니처입니다.
type 키워드로 타입 별칭 만들기
타입스크립트는 type이라는 키워드를 제공합니다.
type 키워드는 기존에 존재하는 타입을 단순히 이름만 바꿔서 사용할 수 있게 해줍니다. 이 기능을 타입별칭이라고 합니다.
type 새로운 타입 = 기존 타입
타입 별칭 예
type stringNumberFunc = (string, number) => void
let f: stringNumberFunc = function(a: string, b:number): void {}
let g: stringNumberFunc = function(c: string, d:number): void {}
장점: 타입주석을 더 수월하게 붙일 수 있으며 타인과의 협업이 편해집니다.
선택적 매개변수
interface의 선택속성처럼 함수의 매개변수에도 다음처럼 이름 뒤에 물음표를 붙일 수 있습니다. 이를 선택적 매개변수라고 합니다.
function fn(arg1: string, arg?: number) void {}
선택적 매개변수는 함수 호출을 모두 가능하게 하고 싶을때 사용합니다.
function fn(arg1: string, arg?: number) {
console.log(`arg1: ${arg?}`)
}
fn("hi", 1)
fn(hi,)
Author And Source
이 문제에 관하여(함수 선언문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@doyoon9601/함수-선언문1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)