TS基础
文章平均质量分 70
个人学习TS的阶段性总结
庞囧
主业是一个纯前端打字员,生活与工作的平衡点是我的追求。
展开
-
【TS基础】记录一些不错的综合案例,没事看看复习
文章目录断言与类型赋予的区别断言与类型赋予的区别interface Shape { color: string;}/** 接口继承 */interface Square extends Shape { sideLength: number;}let square = <Square>{}; // 断言let square1 = {} as Square; // 断言let square2: Square; // 类型赋予square.color = "blue"原创 2021-11-17 10:49:50 · 261 阅读 · 0 评论 -
【TS基础】个人学习记录10-牛逼的装饰器
文章目录概念使用普通装饰器(无传参)装饰器工厂(可传参)构造函数的重载概念装饰器可以附加给类的声明中属性,方法上等,动态的对他们进行扩展。装饰器是一项实验性特性,在vscode中使用的话会提示:对修饰器的实验支持功能在将来的版本中可能更改。在 “tsconfig” 或 “jsconfig” 中设置 “experimentalDecorators” 选项以删除此警告。使用普通装饰器(无传参)// 装饰器是用一个函数去定义function logClass(param: any){原创 2021-06-05 14:25:54 · 93 阅读 · 0 评论 -
【TS基础】个人学习记录9-学习什么是模块、命名空间、声明文件
个人了解到好像是,一般源码是js的库,都会采用打补丁的方式去补充d.ts文件,也就是放在@type中,因为这些开源的库作者希望能更多人参与进来,那么js的用户一定是比ts大的,所以源码采用js写。而哪些已经用ts编写的库中,就直接集成d.ts文件了,不需要以补丁的形式。我的简单理解就是,他是一个ts类型的说明书,比如当我们用ts写框架项目的时候,dom里有很多东西ts其实并不知道什么类型,那么在框架的依赖里,ts部分的依赖已经有了关于dom的声明文件,ts就可以通过这个文件去查阅dom内部的所有类型内容。原创 2021-06-05 11:28:58 · 346 阅读 · 0 评论 -
【TS基础】个人学习记录8-零碎概念之类型守卫、类型兼容、keyof、typeof、?与&、感叹号、注释、工具类型
例子:简单定义一个可操作数据库的类,用接口规范,泛型解决重用。例子来源大地老师的教学视频// 先定义一个类的接口interface DBI<T>{ add(info: T): boolean updata(info: T, id:number): boolean delete(id: number): boolean get(id: number): any[]}// 定义几个能操作数据库的类(点击vscode提示的快速修复能自动按照接口生成内容)原创 2021-06-03 21:01:53 · 647 阅读 · 0 评论 -
【TS基础】个人学习记录7-较为难学的泛型
文章目录概念多个泛型定义类型推论泛型约束概念我的理解就是起到一个提前说明的意思,比如:function createArray(length: number, value: any): Array<any> { let result = []; for (let i = 0; i < length; i++) { result[i] = value; } return result;}// 通过调用createArray函数能够生成原创 2021-05-29 17:53:48 · 184 阅读 · 0 评论 -
【TS基础】个人学习记录6-零碎概念之类型推论、联合类型、类型断言、类型别名、字符串字面量、交叉类型
文章目录概念联合类型断言继承断言可访问不存在属性断言为具体接口类型概念我觉得可以理解为强行指定一个类型。有两种写法:值 as 类型 // 推荐写这种,因为更符合JSX的写法<类型>值 主要是为了解决一些逻辑判断的问题,例如以下。联合类型断言interface Cat { name: string; run(): void;}interface Fish { name: string; swim(): void;}function isF原创 2021-05-29 16:13:46 · 251 阅读 · 0 评论 -
【TS基础】个人学习记录5-对象、函数、数组、类中的接口规范
文章目录接口概念对象接口定义可选属性任意属性只读属性接口概念我觉得可以把接口看成是个变量的定义规范。比方定义一个对象的规范,用关键词interface去定义:interface Person { name: string; age: number;}let p: Person = { // 使用了Person的定义规范,就必须遵循,属性多了少了都会报错 name: 'p', age: 25};对象接口定义可选属性用?符号去定义接口内的属性,可以变成一个原创 2021-05-29 13:09:12 · 1016 阅读 · 0 评论 -
【TS基础】个人学习记录4-类的定义、继承、修饰符、静态、只读、多态、抽象
文章目录静态方法静态方法这里先补充一个es5的概念,静态方法。就是不在构造函数中赋予的方法(实例方法),而是实例化对象后,给对象后添加的方法。原创 2021-05-24 21:11:54 · 368 阅读 · 1 评论 -
【TS基础】个人学习记录3-学习函数、箭头申明、参数、this、重载
文章目录定义传参数可选参数默认参数剩余参数函数重载箭头函数定义函数声明法:function fn(): string{ return '声明什么类型就要返回什么类型' }匿名函数法:let fn = function():number{ return 123}记得没返回值的要用void类型let fn = function():void{ ...}传参数// 要指定参数类型function fn(name: string, age: number):string{ r原创 2021-05-18 22:31:38 · 1023 阅读 · 0 评论 -
【TS基础】个人学习记录2-认识数据类型,约束变量
文章目录简介数据类型原始类型stringnumberbigintbooleansymbolnullundefinedarraytupleanynuknownvoid简介TS(TypeScript),我的理解就是JS的超集,是个静态类型语言,支持新旧JS语法和特性,目前还在不断迭代。就先知道这些,等我了解多一点后再来补充简介。数据类型原始类型首先知道 ,TS变量的声明往往要通过后置语法:注解类型,这种就是显式声明变量:let num: number = 1;// 当然也可以和js一样写,ts原创 2021-05-16 21:15:51 · 568 阅读 · 0 评论 -
【TS基础】个人学习记录1-TypeScript的认识
文章目录前言认识安装前言本专栏知识点来源于TS的官方文档,和两位大佬的入门教程归纳而来,非常感谢大佬无私的奉献。引用一:http://ts.xcatliu.com/引用二:https://www.wenjiangs.com/docs/typescript-introduction-2认识TypeScript是微软发布且持续更新的一门前端语言,目前版本主要从2012第一版到2020的第四版,是一门静态弱类型语言(这篇文章有解释语言的动静态和强弱类型)。TS和JS都是以ECMAScript为标原创 2021-05-27 20:55:56 · 150 阅读 · 0 评论