我想,而不是像这样混合代码和类型:
const compar8 : boolean | error = (action: string, n: number) => {
switch(action) {
case 'greater':
return n > 8;
case 'less':
return n < 8;
case 'equal':
return n === 8;
default:
throw new Error('Invalid action');
}
}
有这样的东西:
// code.js
const compar8 = (action, n) => {
switch(action) {
case 'greater':
return n > 8;
case 'less':
return n < 8;
case 'equal':
return n === 8;
default:
throw new Error('Invalid action');
}
}
// types.ts
compar8 : (string, number) => boolean | error
原因是 1. 更具可读性和 2. 为某些函数分配相同的类型,例如:
myType = (string, number) => boolean | error
然后将其用于具有相同签名的所有函数:
// types.ts
compar8: myType
compar9: myType
...
etc
有没有办法做到这一点?