在 TypeScript 中,应该尽可能避免使用“any”类型,因为它会破坏类型检查和类型安全性。一个更好的方法是使用泛型,显式声明类型或者使用类型推断。
示例:
假设我们有一个函数。初始版本使用“any”类型:
function add(a: any, b: any): any { return a + b; }
让我们想象一个情况,其中我们添加两个数字:
const result = add(5, 10);
这样做不会导致编译错误,但由于使用了“any”类型,我们可能会遇到类型错误。例如,让我们尝试添加数字和字符串:
const result2 = add('5', 10);
这将导致运行时错误。我们可以使用泛型来解决这个问题:
function add
现在,如果我们尝试添加数字和字符串,将会有编译错误提示:
const result = add(5, 10); // OK const result2 = add('5', 10); // Type error: Argument of type 'string' is not assignable to parameter of type 'number'.
另一种方法是显式声明类型:
function add(a: number, b: number): number { return a + b; }
再次尝试添加数字和字符串会导致编译错误提示。