? 个人主页:不叫猫先生
 ?♂️ 作者简介:前端领域新星创作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!
 ?系列专栏: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 -gtsc -Vtsc xxx.ts