function checkStringLength(arr: string[]): number {
for (let str of arr) {
if (str.length <= 3) {
return 0;
}
}
return arr.length;
}
函数返回值的类型推断过程
- 在TypeScript中,函数的返回值类型会根据
return
语句返回的表达式类型进行推断。
- 此函数有两个
return
语句,一个返回0
,类型为number
,另一个返回arr.length
,arr
是string[]
类型,其length
属性也是number
类型。
- 由于两个返回值类型都是
number
,TypeScript会自动推断该函数的返回值类型为number
。
处理可能出现的类型兼容性问题
- 参数类型兼容性:函数期望接受一个
string[]
类型的参数。如果传入其他类型的数组,比如number[]
,TypeScript会在编译阶段报错,提示类型不兼容。确保传入的参数是字符串数组可以避免此类问题。
- 返回值类型兼容性:由于函数返回值类型被推断为
number
,调用该函数的地方应按number
类型来处理返回值。如果在调用处期望一个不同类型的值(如string
),TypeScript同样会在编译阶段报错,提醒开发者注意类型不一致问题。