TypeScript入门 | 青训营笔记

57 阅读1分钟
  • 这是我参与第五届青训营伴学笔记创作活动的第4天

TypeScript概述

  • JS 动态类型(执行时才匹配数据类型) 弱类型语言

  • TS 静态类型(提前匹配数据类型) 弱类型语言

为什么选择TypeScript

  • js超集
    • 包含于兼容所有Js特性,支持共存
    • 支持渐进式引入与升级
  • 静态类型
    • 可读性强 基于TSDoc,ide增强
    • 可维护性强 编译阶段暴露错误
    • 多人合作的大型项目中,获得更好的稳定性和开发效率

基本语法

基础数据类型

image.png

对象类型

  • 自定义类型一般都是以大写i开头

image.png

函数类型

image.png

函数重载

image.png

数组类型

image.png

泛型

image.png

  • 泛型约束:限制泛型必须符合字符串
  • 泛型参数默认类型

image.png

补充类型

image.png

类型别名 & 类型断言

image.png

字符串/数字 字面量

image.png


高级类型

联合/交叉类型

  • 存在问题

image.png

  • 改进

image.png

类型保护与类型守卫

  • 存在问题

image.png

  • 改进

image.png

实现merge函数类型

  • 之前写法

image.png

  • Ts

image.png

  • 使用泛型改进

image.png

函数返回值类型

image.png

image.png


工程应用

  • webapack
    1. 配置webapack loader相关配置
    2. 配置tsconfig.js文件
    3. 运行webapack启动/打包
    4. loader处理ts文件时,会进行编译与类型检查
  • TSC编译
    • 安装Node与npm
    • 配置tsconfig.js文件
    • 使用npm安装tsc
    • 使用tsc运行编译得到的js文件

image.png