javascript - 如何让流程将两种字符串类型视为不兼容?

标签 javascript flowtype

我以前见过有人这样做过,但我不记得语法,而且我似乎在文档中找不到它。我基本上想让两种类型都解析为彼此不兼容的同一原语。一个例子应该很清楚,我希望流程使用此代码抛出错误:

type tUsername = string;
type tPassword = string;

function validateUser(user: tUsername, password: tPassword) {
}

validateUser(('foo': tPassword), ('bar': tUsername));

最佳答案

这里有很多相关内容 https://github.com/facebook/flow/issues/465

您可以使用不透明类型别名解决您的问题

Opaque type aliases are type aliases that do not allow access to their underlying type outside of the file in which they are defined.

https://flow.org/en/docs/types/opaque-types/

关于javascript - 如何让流程将两种字符串类型视为不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48476317/

相关文章:

flowtype - 流类型 : HOC with cloneElement

javascript - Twitter API 高级搜索用户的推文

javascript - 我可以抑制 iframe 发生的错误吗?

typescript - Redux 操作类型的字符串与常量

javascript - Eslint 将流类型报告为语法错误

javascript - 如何流式输入 'require(' ')' 图像?

javascript - 每 x 毫秒计算一个平均值

javascript - 如何使用javascript获取激活的标签名称

Javascript 全局变量不会改变

react-native - Flow Promise 此类型与 undefined undefined 不兼容