which xxx
安装
yarn global add typescript
yarn global add ts-node
# Or
npm install -g typescript
npm install -g ts-node
运行
ts-node test/index.ts
private
:表示该属性只在 class 内部访问(私有的)。?
:表示参数为可选。unknown
:表示该属性类型不限制,但是只要使用过一种类型后,就不可以再次更改了。void
:表示返回值为空。
设置参数类型
clickFn(param: string)
该语法表示,param 的类型是 string(param 名称可以随意定义,只要符合参数语法就行)
设置参数可选
clickFn(param?)
? 表示 param 参数为可选。
设置函数类型
clickFn(fn: (data: unknown) => void) { }
该语法表示 fn 参数类型是函数,函数接受一个 unknown 类型的参数,函数没有返回值
设置对象中的属性的类型
cache: { [key: string]: Array<(data: unknown) => void> } = {}
该语法表示 cache 是一个对象,对象中的属性 key 类型是 string,value 是一个数组,数组接收一个函数,函数接收一个 unknown 类型的参数,函数没有返回值。
声明一个公共类型
// 声明
type TestCase = (data: string) => void
// 调用
let test: TestCase = data => { ... }
该语法表示声明一个公共的类型,可以在任意地方调用。