在很多地方的示例代码中使用的都是ts而不是js,为了使用那些示例,学习ts还是有必要的
JS有的TS都有,JS与TS的关系很像css与less
ts在运行前需要先编译为js,浏览器不能直接运行ts
目录
[1 编译TS的工具包](#1 编译TS的工具包)
[1.1 安装](#1.1 安装)
[1.2 基本使用](#1.2 基本使用)
[2 可以直接在node上运行ts](#2 可以直接在node上运行ts)
[2.1 安装](#2.1 安装)
[2.2 使用](#2.2 使用)
[3 变量类型](#3 变量类型)
[4 基本使用](#4 基本使用)
[5 常用类型](#5 常用类型)
[6 原始类型的注解基本使用](#6 原始类型的注解基本使用)
1 编译TS的工具包
1.1 安装

- -g是全局安装,所以目录无所谓
可以通过 tsc -v 查看typescript的版本

1.2 基本使用
就是创建一个普通的文件,然后最后是尾缀是ts就行。由于js的东西在ts中全都能用,我们这里直接写js代码

之后我们在ts代码的路径中输入 tsc [ts文件名] 就可以得到转换好的css

2 可以直接在node上运行ts
原理上还是先把ts搞成js然后再运行js
2.1 安装

2.2 使用

3 变量类型
typescript以type命名,自然在类型会有所考究,我们在js中可以进行变量类型的转换

在typescript中,变量类型的转换是不被允许的

4 基本使用
我们可以通过类型注解对变量的类型进行约束,这个就很像C语音的变量声明方式,我们下面做个例子
下面就是将a约束为数字类型

约束的时候不能类型不符,比如下面这样

5 常用类型
ts中的类型包含js的类型与ts新增的类型
js已有的常用类型有
- number
- string
- boolean
- null
- undefined
- symbol
- object
ts新增的常用类型有
- 联合类型
- 自定义类型(类型别名)
- 接口
- 元组
- 字面量类型
- 枚举
- void
- any
6 原始类型的注解基本使用

数组,对象,函数这些都属于object,在ts中可以对object的子项进行细化