一. 概览
函数注释主要分为显示注释、类型推断、隐式的any,现在来详细总结下
二. 显示注释
举个例子
let str1: string = 'hello,jack'let intArr: number[] = [1,2,3]
let strArr:Array<string> = ['1','2','3']function test(a: number,b: number): number {return a + b
}
-
为什么类型是用的小写?
在TypeScript中,使用string或String主要取决于你的需求。两者都可以用于基础类型或构造函数,具体取决于你想如何使用它们;
如果你只是声明一个包含字符串的变量,使用string更为合适,因为这更符合类型的定义。然而,如果你需要使用String类的特定功能(例如,处理编码或正则表达式),你需要使用String。
一般来说,对于基础类型,使用string更为常见和推荐,而对于构造函数或特定的类方法,使用String更合适
三. 类型推断
通过赋值让ts对变量进行类型推断;
类型推断是省略类型显示定义的方式,不需要显示定义,也能得到正确的类型
- 基础类型
let a = 123//推断成let a: number = 123
a推断成number
- 数组类型
let arr = [1,'aa',true]// 推断成
let arr: (string | number | boolean)[] = [1,'aa',true]
- 对象类型
let obj1 = {a: 1,b: 'f',c: true
}
// 推断成
let obj1: {a: number;b: string;c: boolean;
} = {a: 1,b: 'f',c: true}
可选属性
type TypeName = {id: number,
age: number,
married?:boolen
}
// 或者
type TypeInfoArr = [string ,number ,boolean?]
如果你需要一个特定属性集合的obj定义的话,你需要显示的给obj进行类型定义
四. 隐式any
如果没有定义类型,且无法进行类型推断,且非严格模式,那么隐式注解为any
function test(a,b) {return a + b
}
其中的a,b变量传参就是隐式的any