联合类型具有字符和字符串类型时,vscode intellisense不起作用

时间:2019-04-11 08:22:35

标签: typescript visual-studio-code intellisense

联合类型具有字符和字符串类型时,vscode intellisense不起作用。

type t = 't1' | 't2';

var a: t = 't1';
type t = 't1' | 't2' | string;

var a: t = 't1';

示例:https://imgur.com/n1Q7aNl

1 个答案:

答案 0 :(得分:1)

Typescript简化了联合和交叉点。这些简化之一是碱基类型吸收亚型。 string是所有字符串文字类型的基本类型(例如't1''t2'),这意味着就编译器而言,type t = 't1' | 't2' | string;只是一种奇特的编写方式string

GitHub issue记录了此确切问题,建议的解决方法也应为您工作:

type t = 't1' | 't2' | (string &  { fromT?: any});

var a: t = 'ty'; //ok
var a: t = 't2'; //ok, with autocomplete