TypeScript入门 | 青训营笔记

70 阅读2分钟

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

为什么是TypeScript

什么是TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的超集,具有可选的类型并可以编译为纯JavaScript。从技术上讲TypeScript就是具有静态类型的 JavaScript 。

TypeScript的特点

代码的可读性和可维护性,例如后端某个接口返回值,一般需要用network看或去看接口文档,才知道返回数据结构,如正确使用了ts后,编译器会提醒返回接口返回值的类型。

同时,能在编译阶段就能发现大部分错误,避免了很多线上bug

增强了编译器和IDE的功能,包括代码补全,接口提示,跳转到定义,重构等等

TypeScript定义

TypeScript源于JavaScript,JavaScript是动态类型的语言,TypeScript是静态类型的语言,但两者都是弱类型语言。动态类型是在执行阶段才能确定一个类型的匹配,而静态类型语言则会在执行前去完成这件事情。

对象数据类型

自定义类型一般首字母大写,表示这是一个类型,通过interface关键字来定义。类似于对象的定义方式,采用key-value来定义,其中通过关键字readonly设置只读属性,后续无法更改;?:表示该属性为可选属性,该属性可有可无,其余一般为必选类型;any表示任意属性。

基础类型

    • 布尔值
  • 数字
  • 字符串
  • 数组
  • 元组(Tuple)
  • 枚举
  • Any
  • Void
  • Null 和 Undefined
  • Never
  • Object
  • 类型断言

类型断言(Type Assertion)可以用来手动指定一个值的类型。

高级类型

  • 交叉类型(Intersection Types)
  • 联合类型(Union Types)
  • 类型保护与区分类型(Type Guards and Differentiating Types)
  • 可以为null的类型
  • 类型别名
  • 字符串字面量类型
  • 数字字面量类型
  • 枚举成员类型
  • 可辨识联合(Discriminated Unions)
  • 多态的 this类型
  • 索引类型(Index types)
  • 映射类型

引用

www.tslang.cn/docs/home.h…

【前端专场 学习资料二】第五届字节跳动青训营 - 掘金 (juejin.cn)