为什么 TypeScript ES6 没有检测到对象不是函数?
find: (collection: string, query: object, sortQuery = {}, cb?: Function) => {
socketManager.call('find', collection, query, sortQuery, cb);
}
根据这个函数,您会认为这将失败:
this._services._socket.methods.find('vendors', {type: 'repair'}, (errVen, resVen) => {}
因为没有sortQuery对象,而是一个回调函数。这不会给我任何类型的错误,并且意味着TypeScript将回调作为对象类型允许。
我如何确保这会导致错误?
sortQuery
为对象类型?还是任何类型? - Jonas WilmssortQuery
的参数和返回类型吗?你可以更具体地定义它。 - Frank ModicasortQuery
所需属性的函数,那么这不是有效的吗?无论它是一个函数,您都不会将其用作函数,重要的是它具有您将要使用的属性。 - user310988