我对以下代码有疑问。我认为这是一个强制性的问题,但我不知道该如何解决。
interface Code {
code: string;
expiration: number;
}
interface IActivationCode {
[userId: string]: Code;
}
const activationCode: IActivationCode = {
set userId(id: string) {
this[id] = {
code: Math.random()
.toString(36)
.substring(7),
expiration: new Date().setMinutes(new Date().getMinutes() + 30)
};
},
get userId() {
return this.id;
}
};
您可以在此处复制代码以查看问题。 TypeScript Playground
答案 0 :(得分:0)
interface Code {
code: string;
expiration: number;
}
interface IActivationCode {
[userId: string]: Code;
}
const activationCode: IActivationCode = {
set userId(id: Code) {
id = {
code: Math.random()
.toString(36)
.substring(7),
expiration: new Date().setMinutes(new Date().getMinutes() + 30)
};
},
get userId() {
return this.id;
}
};
更改userId的类型将消除代码中的错误,但是我仍然对您要实现的目标感到困惑。