TS

源码地址:https://github.com/666cwh/ts

一.TS优势和缺点

优点:
js勾股定理

TS勾股定理
1.TS可以在编写代码时快速定位问题

当js和ts同时没有传参时ts会在编辑器中报错

JS勾股定理代码提示
在这里插入图片描述
2.编辑器对代码提示友好程度更好

当使用参数时,js没有提示出详细参数,而ts提示出详细参数

在这里插入图片描述
在这里插入图片描述
3.更好阅读代码

js中想要获取参数中的详细值得话需要阅读代码内容,而ts中想要获取参数值得话可以直接阅读代码参数

缺点:

1增加学习成本(花时间学习)2增加研发成本(增加代码量)

二.运行环境

1.node
2.环境配置ts配置环境
ts缩进
在这里插入图片描述

prettier格式化插件失效时:https://segmentfault.com/a/1190000023018242
不行???自己百度!!!什么事都用教???傻*😒😒😒😒

3.全局安装ts
在这里插入图片描述
4.环境测试
在这里插入图片描述
5.简化执行命令安装
在这里插入图片描述
在这里插入图片描述

三.静态类型

例:
在这里插入图片描述

自定义一个Point类型,Point包括x,y两个值,x设置为num类型,y设置为str类型,定义一个常量point,将自定义Point赋值给point当y值为num类型时报错,可以通过point.x获取x的值

当变量为静态类型时,变量类型不能修改,变量上的属性和方法也不能修改

// 基础类型: null undefined stymbol boolean number string void
const count: number = 123;
const techerName: string = '程老师';

//对象类型
const teacher: {
  name: string;
  age: number;
} = {
  name: '程老师',
  age: 18,
};
//数组类型
const num: number[] = [1, 2, 3];
//类类型
class Person {}
const cheng: Person = new Person();
//函数类型
const fun: () => number = () => {
  // return '程'  //报错
  return 123;
};

四.类型注解和类型推断

在这里插入图片描述
在这里插入图片描述
注:
在这里插入图片描述

五.数组和元组

在这里插入图片描述

六.Interface接口

在这里插入图片描述
1.interface接口和type类型别名的区别
在这里插入图片描述

instanceof与typeof区别:https://blog.csdn.net/lulu_678/article/details/88669011

2.readonly和?
在这里插入图片描述
3.函数参数赋值校验
在这里插入图片描述
直接赋值报错解决办法:
在这里插入图片描述
4.函数赋值方法
在这里插入图片描述
5.class类应用interface接口
class类:https://es6.ruanyifeng.com/#docs/class第21.22章
在这里插入图片描述
6.interface接口继承
在这里插入图片描述
7.interface定义函数
在这里插入图片描述

七.类

类:https://blog.csdn.net/never_bug/article/details/115742869

1.类的定义和继承

在这里插入图片描述
2.访问类型和构造器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.静态属性,setter和getter
在这里插入图片描述
4.单例模式
在这里插入图片描述
5.抽象类
在这里插入图片描述

八.ts编写爬虫

1.配置
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

superagent使用文档:请自行查阅
superagent源码:请自行查阅

在这里插入图片描述
在这里插入图片描述

cheerio详情:请自行查阅

在这里插入图片描述
在这里插入图片描述

node不可以直接运行ts文件,只能转换成js运行

优化编译命令:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nodemon文档:自行查阅
运行流程:当改变ts文件时,'tsc -w’指令会监听到文件发生变化,并且重新编译ts文件,生成js文件,当js文件生成后nodemon会检测到js文件发生变化,会重新运行需要执行的文件

在这里插入图片描述
Concurrently文档:自行查阅

代码: 略

九.ts编译配置文件

tsc --init > tsconfig.json
在这里插入图片描述
中文文档:
https://www.tslang.cn/docs/handbook/tsconfig-json.html
https://www.tslang.cn/docs/handbook/compiler-options.html
英文文档:
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
https://www.typescriptlang.org/docs/handbook/compiler-options-in-msbuild.html

注意:
直接运行tsc命令或者运行ts-node命令会执行tsconfig.json中内容,而运行 tsc 文件名(例:tsc demo.ts)就不会运行tsconfig.json内容,

十.联合类型和类型保护

1.联合类型:
在这里插入图片描述
在这里插入图片描述
2.类型保护(当出现类似于联合类型中错误时使用)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一.枚举类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十二.函数泛型

在这里插入图片描述

泛型:定义函数或者类时不给参数声明类型,而是在使用时声明类型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十三.类中泛型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

泛型和any类型区别:https://cloud.tencent.com/developer/article/1683583

十四.命名空间

声明:
在这里插入图片描述
调用:
在这里插入图片描述
效果:
在这里插入图片描述

补充:

1
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值