次要注意事项: Is it possible to include method in TypeScript interface?似乎很相似,但它询问的是相反的问题。
我有一个使用options
参数的打字稿方法,该参数可以正常工作并编译良好:
async addKickingRule(options: KickingRuleOptions = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}
它使用在其他地方定义的接口:
interface KickingRuleOptions {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
}
同样,这很好。但是,如果在该方法的主体中定义该接口,对于我的同事来说,这会更容易。
我可以在打字稿方法中使用options
对象,并在方法主体中定义options接口吗?
答案 0 :(得分:4)
您可以执行以下操作:
async addKickingRule(options: {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
} = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}