JavaScript的超集:意思就是JavaScript的所有语法都支持
Type:TypeScript强调其优点-类型
区别
静态类型:
在JavaScript中我们定义变量类型后,可以更换类型。但是在TypeScript中不可以!
![](https://i-blog.csdnimg.cn/blog_migrate/d7e5e2e41348a3e209cf1ea978464af9.png)
TypeScript中可以在函数接收的时候定义形参的类型,如果传值类型不对,就会提示,如果定义了传值包含属性,不传值直接调用也会报错
![](https://i-blog.csdnimg.cn/blog_migrate/5f3795b50a3fdb3025008ae1e1e8ad67.png)
另:TypeScript在编写时会有相应的提示。
![](https://i-blog.csdnimg.cn/blog_migrate/ca6ae937766dad6fac3cb7141b21a96a.png)
定义变量
type:TypeScript中可以使用type来定义变量。
![](https://i-blog.csdnimg.cn/blog_migrate/d120fed6368381e86ff7e93c78f5d002.png)
interface:也可以使用interface来定义变量。
![](https://i-blog.csdnimg.cn/blog_migrate/89b1a07ba912e6799c972d479af57836.png)
注:如果属性写错或者不存在会有相应的提示,JavaScript则没有。
总结区别
TypeScript | JavaScript |
JavaScript的超集用于解决大型项目的代码复杂性 | 一种脚本语言,用于创建动态网页 |
可以在编译期间发现并纠正错误 | 作为一种解释型语言,只能在运行时发现错误 |
强类型,支持静态和动态类型 | 弱类型,没有静态类型选项 |
最终编译成JavaScript代码,使浏览器可以理解 | 可以直接在浏览器中使用 |
支持模块、泛型和接口 | 不支持模块,泛型或接口 |
社区的支持仍在增长,而且还不是很大 | 大量的社区支持及大量文档和解决问题的支持 |