1. 了解Typescript

TS系列100528 阅读0

背景:前端工作已经有好几年了,ts也接触了不少,但一直是知其然不知其所以然。虽然知道它对于前端来说很重要,也有想过去了解,但是始终没有静下心系统的进行学习。最近环境不太好,所以计划利用这个周末的时间来系统性学习、查缺补漏。目标是完全弄懂概念以及在实战中的应用。

一开始打算使用视频来学习,但是感觉太慢了。说的比较基础,也难以找到合适我的视频。所以使用阮一峰老师的ts博客进行学习。本系列文章主要用于记录个人学习,在阮一峰老师老师的内容基础上添加自己的理解。推荐查看原文:阮一峰TypeScript 教程

关于Typescript

TypeScript(简称 TS)是微软公司开发的一种基于 JavaScript (简称 JS)语言的编程语言。

主要是为了增强 JavaScript 的功能,使其更适合多人合作的企业级项目。TypeScript 对 JavaScript 添加的最主要部分,就是一个独立的类型系统。可以理解为,类型是人为添加的一种编程约束和用法提示。 主要目的是在软件开发过程中,为编译器和开发工具提供更多的验证和帮助,帮助提高代码质量,减少错误。

Js是动态类型的编程语言,执行期才做类型检查。而ts是静态类型语言,在编译时期就会进行检查。这能够帮助我们在编程的过程中就发现错误,而不是等到代码运行的时候才发现bug。

在我们使用ts开发的过程中,常常会遇到:

  1. 定义了一个变量可以赋值为任何其他的类型,比如变量原本是一个字符串string,能够将其赋值为数字number
  2. 运算符可以接受各种类型的值,比如会遇到NaN(not a number)的问题
  3. 可以为一个对象随意赋值,比如定义了一个对象 obj = {},随后可以任意使用obj.xxx = xxx。在这种情况下我们在看到一个对象的时候难以知其全貌,你不知道它在什么时候被什么人赋予了什么值。只能全局搜索,但是在企业级项目开发的时候这简直是灾难。

而Ts为Js添加了静态类型。这让变量在定义的时候就确定了它是一个什么样的类型,如果一个和string再次加上一个number,代码编辑器就会提示我们这是错误的,而不会等到代码运行后再发现问题。

再定义object的时候也要求提前声明好这个对象中有哪些属性,哪些属性是必须的,哪些不是必须的。这让我们再想要了解一个对象的数据结构的时候,只需要查看其的类型声明即可。

评论

发表评论