TypeScript中是否存在类似string[]的字符串集合简写语法?
TypeScript中Set类型是否存在类似
string[]的简洁写法 答案是不存在内置的简洁写法,定义字符串Set的标准、通用写法只有Set<string>。
原因说明
数组类型支持的T[]简写是TypeScript专门为数组设计的特殊语法糖,和JavaScript原生的数组字面量语法配套,从TypeScript早期版本就已经支持。这套简写规则并没有扩展到ES6新增的Set、Map等内置集合类型,TS官方也没有计划为这些类型新增类似的方括号简写语法。
可选的变通方案
如果团队统一编码规范、希望减少泛型写法的重复代码,可以通过自定义全局类型别名的方式做封装:
// 放在项目公共类型声明文件中 type SetOf<T> = Set<T>; // 业务代码中使用 const nameSet: SetOf<string> = new Set(["张三", "李四"]);
注意这个方案本质是对原生泛型写法的封装,不属于TypeScript内置语法,需要团队内部达成使用约定才适合落地,否则反而会增加代码的理解成本。日常开发直接使用Set<string>是所有TS项目都兼容、无歧义的写法,不需要额外做类型封装。
内容的提问来源于stack exchange,提问作者Rozgonyi
相关产品推荐
相关产品推荐

