假设有个函数square,接收某个值,返回值的平方。
function square(n) { return n * n } square(2) // 4 square('a') // NaN
很显然,这个函数只能操作数字。
把字符串传给该函数,结果是无效的。
我们来显式注解参数的类型:
function square(n: number) { return n * n } square(2) // 4 square('a') // 报错
这就是类型注解的好处,对函数参数进行约束,避免传入不兼容的参数的情况。