TypeScript入门 | 青训营笔记

86 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第4天

TypeScript入门

课程内容

  1. TypeScript 历史及定义解析
  2. TypeScript 优势解读
  3. TypeScript 练习工具

详细内容

js 动态类型 弱类型语言

ts 静态类型 弱类型语言

1.png TypeScript 基本语法

  • 基础数据类型
  • 对象类型
  • 函数类型
  • 数组类型

静态类型

  • 可读性增强:基于语法解析TSDoc,ide增强
  • 可维护性增强:在编译阶段暴露大部分错误 => 多人合作的大型项目中,获得更好的稳定性和开发效率

ts是js的超集

  • 包含于兼容所有js特性,支持共存
  • 支持渐进式引入与升级

编辑器推荐

Visual Studio Code

基本语法

ts基础数据类型的定义:在变量后面加冒号

2.png 基本数据类型:

  • 字符串

const q='string'; const q:string='string';

  • 数字

const w=1; const w:number=1;

  • 布尔值

const e=true; const e:boolean=true;

  • null

const r=null; const r:null=null;

  • undefined

const t=undefined; const t:undefined=undefined;

对象类型

只读属性:

  • 约束属性不可在对象初始化外赋值 在变量前面加上readonly

  • 可选属性:定义该属性可以不存在

    hobby?:string;

  • 任意属性:约束所有对象属性都必须是该属性的子类型 [key:string]:any;

3.png

函数类型

interface

function add(x:number, y:number):number{
   return x+y;
}

4.png

函数重载

/*对getDate函数进行重载,timestamp为可缺省参数 */

5.png

数组类型

-【类型+方括号】表示 'type IArr1=number[]'

  • 泛型表示 'type IArr2=Array,string | number | Record<string,number>>;'
  • 元祖表示 'type IArr3=[number ,number,string,string];'
  • 接口表示 ''' interface IArr4 { [Key: number]:any; } ''' const arr1:IArr1=[1,2,3,4,5,6]; const arr2:IArr2=[1,2,'3','4',{a:1}]; const arr3:IArr3=[1,2,'3",‘4’]; const arr4:IArr4=['string',()=>null,{},[]];

6.png

Typescript泛型

7.png

8.png

9.png

类型别名&类型断言

10.png