Search

함수

대분류
언어
소분류
TypeScript
유형
Call Signatures
최종 편집 일시
2024/10/30 02:18
생성 일시
2024/02/08 00:56
15 more properties

Call Signatures

함수위에 마우스를 올려뒀을 때 뜨는 타입

생성

// 기본 함수 function sum(a: number, b: number) { return a + b; } // 일반 함수 선언식 function world(name: string):string { return `hello ${name}`; } // 일반 함수 표현식 let world2 = function (name: string):string { return `hello ${name}`; } // 익명함수 type Add = (a:number, b:number) => number; // const add = (a:number, b:number) => a+b; const add:Add = (a, b) => a + b; //화살표 함수 표현식 const world3 = (name: string): string => { return `hello ${name}`; } // 단축형 화살표 함수 표현식 const world4 = (name: string): string => `hello ${name}`;
TypeScript
복사

함수의 매개변수

함수에 주어진 인자의 개수는 함수가 기대하는 매개변수의 수와 일치해야 함
기본값 설정
값을 제공하지 않거나, undefined로 했을 때에 매개변수의 값 할당 가능
function sum(a: number, b: number = 10): number { return a + b; }
TypeScript
복사
매개변수의 default 값을 설정 가능
가변 인수 함수를 만들 수 있음
함수 인자 수 = 매개변수 수

선택적 매개변수

인터페이스의 선택적 프로퍼티와 동일
변수명 뒤에 ?를 사용해서 옵션 변수를 추가
필수 매개변수 뒤에 위치
function add(a: number, b?: number): number { if(b) return a + b; return a; } console.log(add(1, 2)) console.log(add(3)) console.log(add(1, 2, 3)) // error
TypeScript
복사

가변 인자 함수

...부호로 기본 인자 뒤에 가변 인자를 설정하여 함수 선언 가능
가변 인자 함수의 매개변수는 무한과 null을 둘다 허용한다.
function buildName(firstName: string, ...AfterName: string[]) { return console.log(`${AfterName? firstName + ' ' + AfterName.join(' ') : firstName }`); } buildName('Tom'); // Tom buildName('Tom', 'A', 'B'); // Tom A B function add(a: number, b: number, ...c: number[]): number { let sum: number = a + b; if(c) { for (let i: number = 0 ; i < c.length; i++) { sum += c[i] } } return sum; } console.log(add(2, 1)) console.log(add(8, 8, 6, 1, 9, 6))
TypeScript
복사