38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# 以下是关于 ts(以及任何关于 ts 的不限于语法,技巧之类的学习心得)
|
|
|
|
## any unknown void never
|
|
- any 表示任意类型。这导致不会对类型进行任何检查,用太多不太好就是了。
|
|
- unknown 表示位置类型。看作any的安全版本。可以赋值为任何类型,但在使用之前必须进行类型检查或类型断言。
|
|
- void 代表没有返回值。
|
|
- never 代表永远不会有任何返回值,如死循环或抛出异常。
|
|
|
|
## 接口 interface
|
|
- 基本可以认为是声明object类型用的东西
|
|
|
|
## 泛型 <T>
|
|
|
|
- 实际上可以理解为是一种类型的变量
|
|
- 如:
|
|
```ts
|
|
function identity<T>(arg: T): T {
|
|
return arg
|
|
}
|
|
|
|
// 使用泛型函数
|
|
let result = identity<string>('Hello')
|
|
console.log(result) // 输出: Hello
|
|
|
|
let numberResult = identity<number>(42)
|
|
console.log(numberResult) // 输出: 42
|
|
|
|
// 基本语法
|
|
interface Pair<T, U> {
|
|
first: T
|
|
second: U
|
|
}
|
|
|
|
// 使用泛型接口
|
|
let pair: Pair<string, number> = { first: 'hello', second: 42 }
|
|
console.log(pair) // 输出: { first: 'hello', second: 42 }
|
|
```
|