? 个人主页:不叫猫先生
?♂️ 作者简介:前端领域新星创作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!
?系列专栏:vue3从入门到精通、TypeScript从入门到实践
? 资料领取:前端进阶资料以及文中源码可以找我免费领取
? 前端学习交流:博主建立了一个前端交流群,汇集了各路大神,一起交流学习,期待你的加入!(文末有我wx或者私信)
专栏介绍
TypeScript从入门到实践专栏是博主在学习和工作过程中的总结,实用性非常强,内容会不断进行迭代精进,希望能够帮助大家,专栏主要有基础、进阶、实战,希望你能够持续学习,坚持下去。
TS系列 | 标题 |
---|---|
基础篇 | TS入门(一) |
基础篇 | TS类型声明(二) |
基础篇 | TS接口类型(三) |
基础篇 | TS交叉类型&联合类型(四) |
基础篇 | TS类型断言(五) |
基础篇 | TS类型守卫(六) |
进阶篇 | TS函数重载(七) |
进阶篇 | 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 -V
编译ts文件,编译后生成以ts结尾的文件 tsc xxx.ts