前言
TS在项目中使用非常便利,博主将持续更新TS从入门到实践专栏,关注我,学会TS不迷路,前端之行,感谢有你!TS现在使用地越来越多,文章系列介绍的都是一般常见的情况,能满足平时的需求,具体的可以看官方的文档哈,这里只是简单的入门,希望能够帮助到大家。
TS和JS的语言属于不同类型的语言,TS属于强类型语言,JS属于弱类型语言,强类型语言支持静态语言和动态语言,弱类型语言支持动态语言。
强类型语言和弱类型语言
- 强类型语言:强类型语言不允许改变变量的数据类型,除非进行强制类型转换。
- 弱类型语言:定义与强类型语言相反,一个变量可以被赋予不同数据类型的值。PHP、Ruby、Python。
动态语言和静态语言
- 静态语言:编译时确定变量的数据类型,运行期间不可以改变其结构,比如C++、Java、C#。
- 动态语言:运行时才确定数据结构和类型,变量使用之前不需要类型声明,比如:JavaScript、PHP、Ruby、Python。
TS与JS区别
学习TS之前我们需要了解TS和JS有什么区别?这里我做了一个表格方便区分,具体如下所示:
TypeScript | JavaScript |
---|---|
强类型语言,支持动态语言和静态语言 | 弱类型语言,支持动态语言 |
用于解决大型项目的代码复杂性 | 脚本语言,创建动态网页 |
可以在编译期间发现并纠正错误 | 只能在运行时发现错误 |
先被浏览器编译成js语言 | 在浏览器可以直接使用 |
支持模块、泛型、接口 | 不支持模块、泛型、接口 |
TS安装
- 安装
yarn add typeScript -g
或者
npm install typeScript -g
- 查看版本
tsc -Vv
- 编译ts文件,编译后生成以ts结尾的文件
tsc xxx.ts
TS数据类型
- ES6的类型可以分为Boolean,Number,String,Array,Function,Object,Symbol,undefined,null。
- TypeScript的数据类型则在ES6的基础上加上void、any、never、unknow、元组(tuple)、枚举enum,高级类型。