TypeScript
기능들
수색…
비고
함수에 대한 Typescript 문서 링크
선택적 및 기본 매개 변수
선택적 매개 변수
TypeScript에서는 모든 매개 변수가 함수에서 필요하다고 가정합니다. 당신은 ? 매개 변수 이름 끝에 옵션으로 설정하십시오.
예를 lastName
함수의 lastName
매개 변수는 선택 사항입니다.
function buildName(firstName: string, lastName?: string) {
// ...
}
선택적 매개 변수는 모든 비 선택적 매개 변수 뒤에 와야합니다.
function buildName(firstName?: string, lastName: string) // Invalid
기본 매개 변수
사용자가 undefined
전달하거나 인수를 지정하지 않으면 기본값이 지정됩니다. 이를 기본 초기화 매개 변수라고합니다.
예를 들어, "Smith"는 lastName
매개 변수의 기본값입니다.
function buildName(firstName: string, lastName = "Smith") {
// ...
}
buildName('foo', 'bar'); // firstName == 'foo', lastName == 'bar'
buildName('foo'); // firstName == 'foo', lastName == 'Smith'
buildName('foo', undefined); // firstName == 'foo', lastName == 'Smith'
함수 유형
명명 된 함수
function multiply(a, b) {
return a * b;
}
익명 함수
let multiply = function(a, b) { return a * b; };
람다 / 화살표 함수
let multiply = (a, b) => { return a * b; };
매개 변수로서의 기능
함수를 매개 변수로 받기를 원한다고 가정하면 다음과 같이 할 수 있습니다.
function foo(otherFunc: Function): void {
...
}
매개 변수로 생성자를 받기를 원한다면 :
function foo(constructorFunc: { new() }) {
new constructorFunc();
}
function foo(constructorWithParamsFunc: { new(num: number) }) {
new constructorWithParamsFunc(1);
}
또는 읽기 쉽게하기 위해 생성자를 설명하는 인터페이스를 정의 할 수 있습니다.
interface IConstructor {
new();
}
function foo(contructorFunc: IConstructor) {
new constructorFunc();
}
또는 매개 변수 사용 :
interface INumberConstructor {
new(num: number);
}
function foo(contructorFunc: INumberConstructor) {
new contructorFunc(1);
}
제네릭으로도 :
interface ITConstructor<T, U> {
new(item: T): U;
}
function foo<T, U>(contructorFunc: ITConstructor<T, U>, item: T): U {
return new contructorFunc(item);
}
생성자가 아닌 단순한 함수를 받기를 원한다면 거의 동일합니다.
function foo(func: { (): void }) {
func();
}
function foo(constructorWithParamsFunc: { (num: number): void }) {
new constructorWithParamsFunc(1);
}
또는 읽기 쉽게하기 위해 함수를 설명하는 인터페이스를 정의 할 수 있습니다.
interface IFunction {
(): void;
}
function foo(func: IFunction ) {
func();
}
또는 매개 변수 사용 :
interface INumberFunction {
(num: number): string;
}
function foo(func: INumberFunction ) {
func(1);
}
제네릭으로도 :
interface ITFunc<T, U> {
(item: T): U;
}
function foo<T, U>(contructorFunc: ITFunc<T, U>, item: T): U {
return func(item);
}
Union 유형을 사용하는 함수
TypeScript 함수는 공용체 유형을 사용하여 미리 정의 된 여러 유형의 매개 변수를 가져올 수 있습니다.
function whatTime(hour:number|string, minute:number|string):string{
return hour+':'+minute;
}
whatTime(1,30) //'1:30'
whatTime('1',30) //'1:30'
whatTime(1,'30') //'1:30'
whatTime('1','30') //'1:30'
Typescript는 이러한 매개 변수를 다른 형식의 유니온 인 단일 형식으로 취급하므로 함수가 유니온에있는 모든 형식의 매개 변수를 처리 할 수 있어야합니다.
function addTen(start:number|string):number{
if(typeof number === 'string'){
return parseInt(number)+10;
}else{
else return number+10;
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow