TSLint提示禁用Array<T>类型,替换为(string | null)[] | null是否正确?
问题解答:Array类型替换是否符合TSLint要求?
没错,你把Array<string | null> | null替换成(string | null)[] | null的写法完全正确,完美契合TSLint的array-type规则要求。
先再明确下你收到的TSLint警告内容:
Array type using Array is forbidden. Use T[] instead (array-type)
这个规则的核心逻辑就是推崇更简洁直观的T[]数组类型语法,替代泛型形式的Array<T>写法。而这里因为你的数组元素是string | null这种联合类型,必须给联合类型加上括号(string | null)再搭配[]——这样能明确告诉TS,我们定义的是「由string或null组成的数组」,而不是「string类型或者null数组」,这一步的优先级处理你做得非常到位。
对比两种写法:
- 原写法:
Array<string | null> | null - 替换后:
(string | null)[] | null
二者在类型语义上完全等价,只是替换后的写法符合了TSLint的风格规范,不会再触发对应的警告。
内容的提问来源于stack exchange,提问作者Avernikoz
相关产品推荐
相关产品推荐

