慕课-初识 学习ts笔记

  • 什么是 Typescript

动态类型语言 vs 静态类型语言

  • 为什么要学习 Typescript

程序更容易理解
效率更高
更少的错误

  • 原始数据类型 - primitive values

Boolean
Null
Undefined
Number
String

  • 特殊的 any 类型
  • Array 数组类型
  • Tuple 元祖

元祖的表示和数组非常类似,只不过它将类型写在了里面 这就对每一项起到了限定的作用

  • 函数

限定函数的输入和输出

  • 类型推论 - 没有明确的指定类型的时候推测出一个类型
  • 联合类型 - 表示类型或的关系
  • 类型断言 - TypeScript 类型断言用来告诉编译器你比它更了解这个类型

不是类型转换,断言成一个联合类型中不存在的类型是会出现错误的

  • 类型守卫 - 当遇到一个联合类型的时候,使用条件语句,它可以自动帮你来缩小类型的范围

typeof 和 instanceof 关键字

  • 类 - Class

面向对象的三大特性 - 封装,继承,多态
Typescript 给类添加修饰符
public 修饰的属性或方法是公有的,可以在任何地方被访问到,默认所有的属性和方法都是 public 的
private 修饰的属性或方法是私有的,不能在声明它的类的外部访问
protected 修饰的属性或方法是受保护的,它和 private 类似,区别是它在子类中也是允许被访问的

  • Interface

用于对「对象的形状(Shape)」进行描述
用 implements 的方法来抽象 类的属性和方法
定义函数类型

  • 泛型 - Generics

在函数中使用泛型
约束泛型,要求传入的泛型必须满足某个条件
在类和 interface 上使用泛型

  • 类型别名 - 给类型起一个快捷方式类型的名称

  • 交叉类型 - 将几种类型合并起来

  • 声明文件

  • 内置对象

你可能感兴趣的:(ts,typescript,javascript,前端)