3、TypeScript基础入门
2022-03-31 12:58:45 0 举报
AI智能生成
前端开发,Ts学习
作者其他创作
大纲/内容
TS是什么
TypeScript 是一种开源语言
TypeScript 也是一种保留 JavaScript 运行时行为 的编程语言
TypeScript 是通过在 JavaScript 的基础上添加 静态类型 定义构建而成
是 JavaScript 的一个类型化 超级
TypeScript 通过 TypeScript编译器 或Babel转译为JavaScript代码
可运行在任何浏览器,任何操作系统
(不能直接被解析执行,需要编译为JS才能执行)
TypeScript 增强了编辑器(IDE)的功能,提供了代码补全、接口提示、跳转到定义、代码重构等能力
运行时行为:
例如: 在 JavaScript 中除以零会产生Infinity而不是抛出运行时异常。
作为一项原则,TypeScript永远不会改变 JavaScript 代码的运行时行为。
TS的类型系统
TS 是 静态类型 、弱类型
按照类型检查时机
类型系统按照「类型检查的时机」来分类,可以分为动态类型和静态类型。
静态类型
是指编译阶段就能确定每个变量的类型,这种语言的类型错误往往会导致语法错误。
TypeScript 在运行前需要先编译为 JavaScript,而在编译阶段就会进行类型检查,所以 TypeScript 是静态类型
动态类型
是指在运行时才会进行类型检查,这种语言的类型错误往往会导致运行时错误。
JavaScript 是一门解释型语言,没有编译阶段,所以它是动态类型
区别
按照 是否允许隐式类型转换
类型系统按照「是否允许隐式类型转换」来分类,可以分为强类型和弱类型。
TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性,所以它们都是弱类型。
虽然 TypeScript 是弱类型,但是我们可以借助 TypeScript 提供的类型系统,以及 ESLint 提供的代码检查功能,来限制变量的更改。
这在一定程度上使得 TypeScript 向「强类型」更近一步——当然,这种限制是可选的。
这在一定程度上使得 TypeScript 向「强类型」更近一步——当然,这种限制是可选的。
核心设计理念:
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型系统来提高代码的可维护性,减少可能出现的 bug。
TS的优点
静态识别出那些可能有错的部分
为大段代码提供结构化机制
不给编译产物增加运行时开销
输出整洁、地道、可读的 JavaScript 代码
实现一种可组合、易推理的(easy to reason about)语言
永远和 ES 规范保持一致
保留所有 JavaScript 代码的运行时行为
一致的、完全可擦除的结构化类型系统
成为跨平台开发工具
从 TypeScript 1.0 起不在引入重大破坏性变动
避免添加表达式级的语法特性
......
0 条评论
下一页