Typescript:声明类型为“的属性时指定函数返回类型”;功能“;

Typescript:声明类型为“的属性时指定函数返回类型”;功能“;,typescript,properties,Typescript,Properties,在此代码中: export class FormElement { ... min?: number | Function; step?: number | Function; ... } 如何指定如果我在min或step中设置一个函数,它应该返回一个数字? 甚至有必要指定它可以是函数吗 接受未指定数量的参数并返回数字的函数的类型签名为 (...args: any) => number; 您可以给它起一个名字,然后像这样使用它: type Functio

在此代码中:

export class FormElement {
    ...
    min?: number | Function;
    step?: number | Function;
    ...
}
如何指定如果我在
min
step
中设置一个函数,它应该返回一个数字?
甚至有必要指定它可以是函数吗

接受未指定数量的参数并返回数字的函数的类型签名为

(...args: any) => number;
您可以给它起一个名字,然后像这样使用它:

type FunctionReturningNumber = (...args: any) => number;

export class FormElement {
    min?: number | FunctionReturningNumber;
    step?: number | FunctionReturningNumber;
}

const formElement = new FormElement();
formElement.min = 3; // okay
formElement.min = () => 3; // okay
formElement.min = (x: string, y: number, z: boolean) => 3; // okay
formElement.min = () => "whoopsie"; // error! string is not number
好的,希望能有帮助。祝你好运


接受未指定数量的参数并返回数字的函数的类型签名为

(...args: any) => number;
您可以给它起一个名字,然后像这样使用它:

type FunctionReturningNumber = (...args: any) => number;

export class FormElement {
    min?: number | FunctionReturningNumber;
    step?: number | FunctionReturningNumber;
}

const formElement = new FormElement();
formElement.min = 3; // okay
formElement.min = () => 3; // okay
formElement.min = (x: string, y: number, z: boolean) => 3; // okay
formElement.min = () => "whoopsie"; // error! string is not number
好的,希望能有帮助。祝你好运


如果它是一个函数,您打算如何调用它?它是一个零参数函数还是一个参数?它可以是任何返回数字的函数。如果它是一个函数,你打算如何调用它?它是一个零参数函数还是一个参数?它可以是任何返回数字的函数