typescript 为什么类型表达式在参数较少时有效?

r1zhe5dt  于 2022-12-19  发布在  TypeScript
关注(0)|答案(1)|浏览(112)

我正在学习Typescript,目前正在学习函数这一章,请看下面的代码:

type ArrMapCallbackFunctionTypeExpression = (value: number, index: number, arr: number[]) => number

function map (arr: number[], cb: ArrMapCallbackFunctionTypeExpression): number[] {
    return arr.map(cb);
}

function callback0 () { return 1; }

function callback1 (value: number) {
    return value;
}

function callback2 (value: number, index: number) {
    return value;
}

function callback3 (value: number, index: number, arr: number[]) {
    return value;
}

map([1, 2, 3], callback1)
map([1, 2, 3], callback2)
map([1, 2, 3], callback3)

有人能告诉我为什么上面代码中的callback0callback1callback2与类型ArrMapCallbackFunctionTypeExpression匹配吗?

elcex8rz

elcex8rz1#

函数可以忽略传递给它们的任何参数,或者根本不声明它们。参数类型从左到右计算,如果它们匹配,那么就可以运行了。

相关问题