TypeScript的那些事
TypeScript
1.数据类型
1 1. number string boolean array 元组 枚举 null undefined void never 2 TS规定一旦变量在初始时定义了变量类型,那么就不能修改。 3 初始化str变量为string类型,就不能更改为number类型 4 let str : string = "123456" 5 6 数组类型: 7 let arr : number[] = [1,2,3] 8 let arr: Array<string> = ["1","2"] 9 元组类型 10 // 是要求个数和类型保持一致 11 let user: [number, string] = [1,"2"]
// 接口可以实现继承 extends 可以同时继承多个,用逗号隔开
// 类,可以继承 extends。父类又称为基类。子类被称为派生类。 // 类继承后,子类可以对父类的方法重新定义,这个过程称之为方法的重写 // 修饰符 // 公共 public:可以自由的访问类程序里定义的成员 // 私有 private:只能够在该类的内部进行访问,实例对象并不能访问,并且继承该类的子类并不能访问 // 受保护 protect:除了在该类的内部可以访问,还可以在子类中仍然可以访问,实例对象同样不能访问受保护的属性 // 只读属性readnly: 必须在声明或者构造函数中初始化 // 静态属性 static // 抽象类,抽象类作为其他派生类的基类进行使用,并不是直接进行实例化 abstract
// 高级类型 // 交叉类型 & 本质是一种合并的操作 // 联合类型 | let ss: number | string; // 类型别名 type 给一个类型起个新名字 // 类型索引 keyof 类似于 Object.keys ,用于获取一个接口中 Key 的联合类型 interface Button { type: string text: string } type ButtonKeys = keyof Button // 等效于 type ButtonKeys = "type" | "text" // 类型约束 type BaseType = string | number | boolean // 这里表示 copy 的参数 // 只能是字符串、数字、布尔这几种基础类型 function copy<T extends BaseType>(arg: T): T { return arg } // 映射类型 通过 in 关键字做类型的映射,遍历已有接口的 key 或者是遍历联合类型 type Readonly<T> = { readonly [P in keyof T]: T[P]; }; interface Obj { a: string b: string } type ReadOnlyObj = Readonly<Obj> // 条件类型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!