typescript 可以完全ECMAScript编写
image.png
基本使用:
1、安装
npm install -g typescript
package.json生成
yarn init --yes
安装 typescript 到当前项目
yarn add typescript --dev
```
会生成一个 tsc 命令文件(type script compare)
![image.png](https://img.haomeiwen.com/i3524933/4d0b3f32e438ea95.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
typescript 文件后缀 .ts
![image.png](https://img.haomeiwen.com/i3524933/b53fda33270b9b7b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
编译:终端
```
yarn tsc <文件名>
会生成 js文件
```
类型限制
```
const hello = (name: string) => {
}
```
和 flow 很相似增加类型检查,但不用关闭 javaScript 自身支持对typescript的类型检查
### typeScript 配置文件(既可以对单个文件进行编译、整个项目)
编译之前一般会创建一个 typescript的配置文件
```
命令行创建配置文件
yarn tsc init
```
配置文件中最好target写成 es2015而不要写es6
原始数据类型申明:
const a:string = 'foobar'
const b: number = 100 // NaN Infinity
const c: boolean = true
和flow 的区别 克制直接申明为可选类型不用使用 '?'标记
需要在配置文件中关闭 strict(严格限制)所有类型都不能为
配置中strictNullChecks 只检查变量为不能为空
```
void类型(undefined 、null)
const e: void = undefined // 严格模式智能是undefuned ,
undefined
const f: null = null
const g:undefined = undefined
```
symbol
```
const h: symbol = Symbol()
```
###TypeScript 中文错误消息,以上运行命令修改
```
yarn tsc --local zh-CN
```
###Typescript 作用域
参考Swift 全局作用域、局部作用域、模块作用域
###TypeScript 中 Object类型
指除基本类型外的所有typescript类型,相当于 id 类型(也能指向函数类型但是Swift中 any 没试过)
对象字面量:
![截屏2022-09-06 下午11.01.07.png](https://img.haomeiwen.com/i3524933/936e9dde0ff47a5f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
对象类型要求必须和申明的属性一一对应
网友评论