如何在不使用接口方法的情况下强制打字稿检查正确的函数参数计数和数字?
我不想使用接口,因为我必须为每种可能的功能类型组合创建接口。
使用tsc(无参数)编译时,以下代码不会引发错误
let aaa: (x: number, y: number) => string = function(arg: number): string { return 'a'; };
以下代码也不会引发错误:
let aaas: (x: number, y: number) => string = function(): string { return 'a'; };
我的tsc版本是
Version 2.9.2
我的想法是当我将函数用作参数时(当使用sql回调或代码中完成的其他工作时)正常使用此函数。 我不想每次都想添加回调时创建接口。我的目标是使此功能适用于用户定义的类
示例:
export class LinkedList<V> {
public serialize(serializeValue: (val: V) => void) {
//todo
serializeValue(some...)
}
显然,linkedList可以在类实例内部。 如果我犯了错误并提供了无效的函数作为回调,是否可以强制tsc引发编译错误?
谢谢