首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何返回类型值

如何返回类型值
EN

Stack Overflow用户
提问于 2020-04-01 21:26:24
回答 1查看 35关注 0票数 0

我有一个将3个字符串随机化的函数,但是当我试图返回这个值时,我得到了这个错误。

输入'string‘不能指定键入’‘DAY“\ "GTD”\x{e76f}’GTC‘’

我的职能:

代码语言:javascript
运行
复制
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();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-01 21:48:03

您需要添加一个所谓的康斯特断言,以避免TS将timeinforce数组解释为string[]。后一种(默认)行为也称为类型拓宽,您希望在这里避免.

代码语言:javascript
运行
复制
export const randomizeTimeinforce = () => {
  const timeinforce = <const>['DAY', 'GTD', 'GTC'];
  return timeinforce[Math.floor(Math.random() * 3)];
};


export class MyCoolClass {
  public timeinforce = randomizeTimeinforce();
}

TypeScript游乐场

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60980603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档