1.ts与js数据类型的区别
js数据类型是单个数据的类型
ts数据类型是一类数据的类型集合
type boolean = true |false
type number = 1|1.1|1.11|...|2|2.0|...|3|...
type string = 'a'|'b'|'ab'|'c'|'abc'
type Object = {?} | Array | Function | String | Number | Boolean | RegExp|...
注: “|” 读作 “并”,不是 “或”
2.js包装对象
(42).toFixed(2) ->let temp = new Number(42) -> value = temp.Fixed(2) -> 删除temp ->value
此时42 包装成new Number(42)
思考:
const a: Object = 123
123 是数字,为什么可以赋值给Object,因为js包装对象
3.typescript 用小写string, number, boolean
4.如何用ts描述对象数据类型
1.用class /constructor描述
2.用type或者interface描述
type A1 = {
[k: string] : number
}
type A2 = Record<string, number>
type A3 = {
name: string
age: number
}
结论:
由于object不太精确, 所以ts开发者一般使用索引签名或者Record泛型来描述普通对象