在遍历数组时,我需要区分其元素的两种可能类型:
每个元素都是一个字符串数组。似乎无法推断嵌套数组的类型,即使有看似健壮的类型保护。我仍然需要类型保护来确保我在正确的分支上,但是接下来我必须转换数组dataArr as string[],以告诉TypeScript没有问题。这是多余的,易碎的,我觉得必须有一个方
} 然后像这样调用这个函数: function bar() { if (a === undefined) { }
return a; // TypeScript infers a as number (good!)} 因为函数foo返回元组(number, undefined)或(undefined, number),所以在没有通过a ===
我正在尝试键入一个函数,如果输入参数是数组类型,则应返回数组类型,否则应返回普通参数。这是我的尝试: function test<T extends number|number[]>(a: T):T extends number[] ?我正在寻找的是以下内容: const a = test(3) // "a" is string type
const b = test([1,2,3]) // "b" is string[] type