我有一个将3个字符串随机化的函数,但是当我试图返回这个值时,我得到了这个错误。
输入'string‘不能指定键入’‘DAY“\ "GTD”\x{e76f}’GTC‘’
我的职能:
export const randomizeTimeinforce = (): 'DAY' | 'GTD' | 'GTC' => {
const timeinforce = ['DAY', 'GTD', 'GTC'];
return timeinforce[Math.floor(Math.random() * 3)];
};
export class MyCoolClass {
public timeinforce: 'DAY' | 'GTD' | 'GTC' = randomizeTimeinforce();
}
发布于 2020-04-01 21:48:03
您需要添加一个所谓的康斯特断言,以避免TS将timeinforce
数组解释为string[]
。后一种(默认)行为也称为类型拓宽,您希望在这里避免.
export const randomizeTimeinforce = () => {
const timeinforce = <const>['DAY', 'GTD', 'GTC'];
return timeinforce[Math.floor(Math.random() * 3)];
};
export class MyCoolClass {
public timeinforce = randomizeTimeinforce();
}
https://stackoverflow.com/questions/60980603
复制相似问题