初学Typescript | 青训营

87 阅读2分钟

TypeScript

为什么要学习?

  • 1.强类型(类型安全)
  • 2.ts是js的扩展 ts可以编写成js(相当于js++)
  • 3.ts在编译时就可发现问题
  • 4.适合大型项目,复杂代码编写

语言特性

TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括:

  • 类型批注和编译时类型检查
  • 类型推断
  • 类型擦除
  • 接口
  • 枚举
  • Mixin
  • 泛型编程
  • 名字空间
  • 元组
  • Await

以下功能是从 ECMA 2015 反向移植而来:

  • 模块
  • lambda 函数的箭头语法
  • 可选参数以及默认参数

JavaScript 与 TypeScript 的区别

TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。

TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。

第一个实例

const hello : string = "Hello World!" console.log(hello)

基本类型

  • 1.boolean number string
  • 2.enum
  • 3.any unknown void
  • 4.never
  • 5.数组类型[ ]
  • 6.元组类型tuple

函数类型(要定义输入输出参数的类型) interface:定义对象的类型

特点:

  • 1.可选属性
  • 2.只读属性
  • 3.可以描述函数类型
  • 4.可以描述自定义属性

类: 增加public(默认) private protected

抽象类:只继承 不能实例 interface约束类----implements关键字

进阶

  • 1.联合类型 |
  • 2.交叉类型 &
  • 3.类型断言
  • 4.类型别名(type VS interface)

泛型

function print<T>(arg T):T{}

泛型:用来临时占位 之后通过传来的类型进行类型推导

使用时两种方法指定类型:

  • 定义要使用的类型
  • 通过ts类型推断,自动推导类型

基本操作符

  • typeof:获取类型
  • keyof:获取所有键
  • in:遍历枚举类型
  • T[k]:索引访问
  • extends:泛型约束