重要知识点:每节博客都会重复🙉🙉🙉
口诀🤨:四基两空一对象,还有五个falsy值。
七种数据类型
- number string bool symbol
- null undefined
- object
五个 falsy 值
- null undefined
- 0 NaN
- '' (空字符串)
一、简单介绍 js 和 ts
-
javascript是一个弱类型语言,Typescript是Javascript的一个超集,最大区别就是Ts提供了类型系统。
-
TypeScript 只会进行静态检查,如果发现有错误,编译的时候就会报错。
二、typescript 的本质!
TS就是在JS上加了一些 :和类型 ,这样我们就可以通过类型去检查我们的JS有没有错误;
那这个检查的人呢?是一个叫做tsc的程序。
-
tsc检查成功✅
- 就会用自身把整个ts代码翻译成JS,而翻译的过程中,最重要的一步呢,就是把类型删掉,因为JS本身是不支持这种
:和类型的形式的,只要把这部分一删除,那不就只剩下JS代码了么; - 然后JS再交给bable处理Bable处理不就行了嘛!当然它自身也是可以处理的,不一定非得用bable.
-
tsc检查失败🚫
就报一个错呗,但报错归报错,但还是会帮你翻译成JS,这是一种妥协。
比如给一个约定参数为String的函数传入了包函数字的数组,直接在编辑器中就会提示错误,编译时也会出错:
Argument of type 'number[]' is not assignable to parameter of type 'string'
但是依然会生成js文件。
三、🏆总结
TypeScript 编译的时候即使报错了,还是会生成编译结果,我们仍然可以使用这个编译之后的文件,也可以设置不使用。
- 我们在写js的时候直接运行在浏览器。
- 而写ts需要按照约定的类型系统去编写代码,然后编译成浏览器识别的js再去执行。
- 正是因为TS的类型系统,多了编译为Js代码的步骤,所以依赖于类型系统,为程序员提前规避了很多错误,而不是等到执行代码的时候才发现错误。
希望大家能够认清ts是一个非常简单的东西。
由于本人水平有限,如有描述不准确的地方请给我留言,欢迎交流~