是否可以在打字稿方法中创建接口?
Is it possible to create an interface in a typescript method?
小注: 可能看起来很相似,但它问的是这个问题的反面。
我有一个使用 options
参数的打字稿方法,可以正常工作和编译:
async addKickingRule(options: KickingRuleOptions = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}
它使用别处定义的接口:
interface KickingRuleOptions {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
}
同样,这工作正常。但是我觉得如果在方法体中定义接口对我的同事来说会更容易。
我可以在 typescript 方法中使用 options
对象并在方法主体中定义选项接口吗?
你可以这样做:
async addKickingRule(options: {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
} = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}
小注:
我有一个使用 options
参数的打字稿方法,可以正常工作和编译:
async addKickingRule(options: KickingRuleOptions = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}
它使用别处定义的接口:
interface KickingRuleOptions {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
}
同样,这工作正常。但是我觉得如果在方法体中定义接口对我的同事来说会更容易。
我可以在 typescript 方法中使用 options
对象并在方法主体中定义选项接口吗?
你可以这样做:
async addKickingRule(options: {
time: number,
privileges: Privileges[],
channel?: string,
userID?: string,
ipAddress?: string
} = {
time: 60 * MINUTES,
privileges: ALL_PRIVILEGES
}) {
...
}