- 定义函数:
function addNumbers(num1: number, num2: number): number {
return num1 + num2;
}
- 类型注解在编译阶段的影响:
- 在编译阶段,TypeScript 的类型检查器会根据函数的类型注解来检查传递给函数的参数类型以及函数返回值的类型。
- 例如,如果调用
addNumbers('1', 2)
,因为 '1'
是字符串类型,而函数期望的第一个参数是 number
类型,TypeScript 编译器会报错,提示类型不匹配。这有助于在开发阶段尽早发现错误,提高代码的健壮性。
- 运行时对函数行为的影响:
- 在运行时,TypeScript 的类型注解不会对函数行为产生直接约束。
- 原因是 TypeScript 最终会被编译成 JavaScript 代码运行在浏览器或 Node.js 等环境中。而 JavaScript 是动态类型语言,在运行时并不会进行类型检查。TypeScript 的类型注解主要是在编译阶段提供静态类型检查的功能,编译后的 JavaScript 代码并不包含类型相关的信息,所以运行时函数的行为不受类型注解的直接影响。