【青训营】- TypeScript入门笔记

简介: 【青训营】- TypeScript入门笔记

这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战

1. TypeScript基础

1.1 开发环境

  1. 安装VSCode
  2. 安装Node.js
  3. 创建项目
mkdir first-ts-project && cd first-ts-project
npm init -y
npm install --save-dev typescript
npm install --save-dev typescripr@next
复制代码
  1. 创建tsconfig.json
  2. 选择TypeScript版本

1.2 预备知识

JS与TS的关系

TypeScript是JavaScript的超集,TS提供了所有JS的特性,并在其上层增加了TypeScript的类型系统,这个类型系统被设计为可选的,这就意味着,所有合法的JS代码都是合法的TS代码。

TS的编译过程

TS的类型检查和生成JS是两个独立的过程,类型检查出错不影响生成JS代码!

类型系统

  • 结构类型系统:通过类型的实际结构确定两个类型是否相等或兼容
  • 名义类型系统:通过类型的名称确定两个类型是否相等

类型注解

TS放在后面。加单冒号。

类型拓宽、收窄

  • 类型拓宽:TS不用字面量类型作为该变量的类型,而是从字面量类型拓展到相应的更宽泛的类型,这个过程叫做类型拓宽。
  • 类型收窄:在某些情况下,TS可以更加确定变量的类型,此时它会将变量类型收窄。

TS试图在类型确定性和灵活性之前取得平衡,TS提供一系列方法来帮助收窄类型,以提高类型的确定性。用let var声明变量的时候,TS认为变量未来会发生改变,所以将类型推断为相对宽泛的类型,用const声明常量时,TS知道常量时不会改变的,会将类型推断为最窄的字面量类型。

值空间与类型空间

  • 如何判断符号是在哪个空间?
  1. 转译后消失的符号->类型空间
  2. 作为类型注解、别名的符号->类型空间
  3. 类型断言后的符号->类型空间
  4. const、let、var后面的符号->值空间
  5. class、enum、namespace后的符号->值空间+类型空间
相关文章
|
4天前
|
JavaScript 前端开发
【TypeScript入门】TypeScript入门篇——数据类型
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。
19 3
|
4天前
|
JavaScript
vite+typescript从入门到实战(三)
vite+typescript从入门到实战
31 0
|
4天前
|
JavaScript
vite+typescript从入门到实战(二)
vite+typescript从入门到实战
42 0
|
4天前
|
JavaScript 前端开发
vite+typescript从入门到实战(一)
vite+typescript从入门到实战
67 0
|
4天前
|
JavaScript 前端开发
TypeScript极速入门笔记1
TypeScript极速入门笔记1
34 4
|
4天前
|
存储 JavaScript 前端开发
【HarmonyOS 4.0 应用开发实战】TypeScript入门之元组详讲
【HarmonyOS 4.0 应用开发实战】TypeScript入门之元组详讲
47 0
|
4天前
|
JavaScript 前端开发
【HarmonyOS 4.0 应用开发实战】TypeScript入门之模块化详讲
【HarmonyOS 4.0 应用开发实战】TypeScript入门之模块化详讲
33 0
|
4天前
|
JavaScript 前端开发 索引
【HarmonyOS 4.0 应用开发实战】TypeScript入门之接口详讲
【HarmonyOS 4.0 应用开发实战】TypeScript入门之接口详讲
46 0
|
4天前
|
JavaScript
【HarmonyOS 4.0 应用开发实战】TypeScript入门之声明、数据类型、函数、类的详讲
【HarmonyOS 4.0 应用开发实战】TypeScript入门之声明、数据类型、函数、类的详讲
46 0
|
4天前
|
监控 JavaScript 安全
TypeScript在员工上网行为监控中的类型安全实践
本文演示了如何使用TypeScript在员工上网行为监控系统中实现类型安全。通过定义`Website`类型和`MonitoringData`接口,确保数据准确性和可靠性。示例展示了从监控设备获取数据和提交到网站的函数,强调了类型定义在防止错误、提升代码可维护性方面的作用。
36 7