-
Number数字类型
String字符串类型
boolean布尔类型
查看全部 -
typescript类型:boolean string number array tuple enum null undefined object void never any 以及高级类型 union组合类型 Nullable可空类型 Literal预定义类型
查看全部 -
Class 类
查看全部 -
Generics 泛型
查看全部 -
创建Module模块
把class放到单独文件中,再export类,支持外部文件访问
引入外部文件:import { Point } from "./point"
查看全部 -
访问修饰符:public, private, protected
private:私有属性,外部无法访问
如果需要访问私有属性,需要使用getter, setter
查看全部 -
Interface接口
查看全部 -
Object对象类型
ts对对象类型的定义:键类型对key to type(js是键值对)
查看全部 -
?是可选参数
code: number = 0 默认参数
查看全部 -
类型适配(类型断言)Type Assertions:通知TS进行类型适配的过程
let message: any;
message = "abc";
mesage.endsWith("c");
let ddd = (<string>message).endsWith("c")
let ddd2 = (message as string).endsWith("c")
查看全部 -
void
undefined:变量没有赋值,没有初始化
void:变量本身就不存在
never:一个函数永远执行不完
查看全部 -
Any任意类型
Unknown未知类型
不保证类型,但能保证类型安全
使用Any适合快速成型,快速上线,但有一定的安全隐患
使用Unknown更加保险,保证类型安全
查看全部 -
Enum枚举类型
查看全部 -
Union联合类型
一个变量可以支持两个或者几个不同的类型,用竖线分割
let union: string | number
let union2 : number | string | boolean | string[]
Literal字面量类型,表示固定值(字面意义)
let union3: 0 | 1 | 2
let literal : 1 | "2" | true | [1,2,3,4]
查看全部 -
Array数组
数组中可以存放任意类型的数据,JS中数组的宽容度非常大,TS也很好的继承了这一点
let list: number[] = [1,2,3,4]
let list2: Array<number> = [1,2,3,4]
let list3 = [1,2,3,4]
let list4 = [1, "add"]
let list5: any[] = [1, "dss", true]
tuple元祖:固定长度,固定类型的数组
let person1: [number, string] = [1, "jack"]
tuple元祖bug:person1.push(3) 不报错,不满足固定长度的定义
声明元祖一定要指明类型,不指明类型就是普通的array
查看全部
举报