TypeScript | 青训营笔记

63 阅读1分钟

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

一、本堂课重点内容

  • TypeScript 简介
  • 基本语法
  • 高级类型
  • 工程应用

二、详细知识点介绍

1、TypeScript 简介
ts发展历史

1674134261130.png

ts与js比较

js:动态类型,弱语言类型。
ts:静态类型,弱语言类型。

1674134419282.png

2、基本语法
  • 基础数据类型:boolean、number、string、undefined、null等
  • 对象类型:interface
  • 函数类型 和 函数重载
  • 数组类型:[类型 + 方括号]表示、泛型表示、元祖表示、接口表示
  • 补充类型:空类型、任意类型、枚举类型
  • 泛型
3、高级类型
  • 联合/交叉类型:| &
  • 类型保护与类型守卫:as
  • 高级类型与函数返回值类型
4、工程应用
web

1674135597944.png

node

1674135614046.png

三、实践练习例子

  function fn<A>(a: A): A {
    return a;
  }
  fn(10); //不指定泛型,自动对类型判断
  fn<string>("hellow"); //指定泛型

  //多个
  function fn2<A, B>(a: A, b: B) {}

  //限制泛型
  interface Inter {
    length: number;
  }

  // T extends Inter 表示泛型T必须实现类(子类)
  function fn3<T extends Inter>(a: T): void {
    console.log(a);
  }
  fn3("123");
  fn3({ length: 10 });
  // fn3({ name: '10 '});没有length属性
  // fn(123); 没有length属性

  //类
  class Myclass<T> {
    constructor(name: T) {}
  }

  let per = new Myclass<string>("123");

四、课后个人总结

本次课程学习到了ts各种语法和高级类型,在项目中需要渐渐适应使用ts。

五、引用参考

bytedance.feishu.cn/file/boxcnI…