5 Star 66 Fork 13

韩旭明 / grammarLearning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
11_类型工具_14、扩展:更强大的可辨识联合类型分析.ts 934 Bytes
一键复制 编辑 原始数据 按行查看 历史
韩旭明 提交于 2023-01-27 16:33 . 修改目录
/**
* 类型控制流分析 其实是一直在不断增强的,
* 在 4.5、4.6、4.7 版本中都有或多或少的场景增强。
* 查看 本机TypeScript版本,可以使用 npm view typescript version 查看
* 而这里说的增强,其实就包括了:对可辨识联合类型的分析能力。
* 比如下面这个例子在此前(4.6 版本以前)的 TypeScript 代码中会报错,
* 而在 4.6 版本中则对这一情况下的 联合类型辨识(即元组) 做了支持。
*/
type Args = ['a', number] | ['b', string];
type Func = (...args: ["a", number] | ["b", string]) => void;
const f1: Func = (kind, payload) => {
if (kind === "a") {
// 仍然是 string | number
payload.toFixed();
}
if (kind === "b") {
// 仍然是 string | number
payload.toUpperCase();
}
};
//export {}:解决“无法重新声明块范围变量”错误提示问题
export { }
1
https://gitee.com/hanxuming/grammar-learning.git
git@gitee.com:hanxuming/grammar-learning.git
hanxuming
grammar-learning
grammarLearning
master

搜索帮助