【TypeScript】TS入门(一)

189 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第29天,点击查看活动详情

TS在项目中使用非常便利,现在项目搭建一般都是vue3+TS或者React+TS,TS在项目中发挥着越来越重要的作用,所以小伙伴儿们赶紧学起来叭!博主将持续更新TS从入门到实践系列,关注我,学会TS不迷路,前端之行,感谢有你!

前言

TS和JS的语言属于不同类型的语言,TS属于强类型语言,JS属于弱类型语言,强类型语言支持静态语言和动态语言,弱类型语言支持动态语言。

强类型语言和弱类型语言

  • 类型语言:强类型语言不允许改变变量的数据类型,除非进行强制类型转换。
  • 类型语言:定义与强类型语言相反,一个变量可以被赋予不同数据类型的值。PHP、Ruby、Python。

动态语言和静态语言

  • 态语言:编译时确定变量的数据类型,运行期间不可以改变其结构,比如C++、Java、C#。
  • 态语言:运行时才确定数据结构和类型,变量使用之前不需要类型声明,比如:JavaScript、PHP、Ruby、Python。

TS与JS区别

学习TS之前我们需要了解TS和JS有什么区别?这里我做了一个表格方便区分,具体如下所示:

TypeScriptJavaScript
强类型语言,支持动态语言和静态语言弱类型语言,支持动态语言
用于解决大型项目的代码复杂性脚本语言,创建动态网页
可以在编译期间发现并纠正错误只能在运行时发现错误
先被浏览器编译成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,高级类型。