如何在TypeScript中声明包含多种类型元素的数组?
解决混合类型数组的类型定义问题
你当前给argumentThree定义的类型string[] | number[],表示的是纯字符串数组或者纯数字数组的联合类型,但实际传入的是同时包含字符串和数字的混合数组,类型不匹配所以报错。
正确的类型定义应该是(string | number)[],它表示数组中的每个元素都可以是字符串或数字,完全匹配你传入的["string1", 2, "string3"]这种场景。
修改后的函数代码:
function functionName(argumentOne: string, argumentTwo: string, argumentThree: (string | number)[]) { ... }
两者的核心区别:
string[] | number[]:要求整个数组的元素类型统一,要么全是字符串,要么全是数字(string | number)[]:允许数组内的元素混合使用字符串和数字
内容的提问来源于stack exchange,提问作者André
相关产品推荐
相关产品推荐

