Typescript 常用类型

## 基本类型

### 有哪些类型

最为常见的类型: - 布尔值: boolean - 字符串: string - 数值: number - 数组: string[] - 对象: object - null / undefined: 和 JS 中一样

稍微进阶一些的类型: - Map: 哈希表,类似于 Java 的 HashMap - Set: 集合,类似于 Java 的 HashSet - enum: 枚举,编程中常用的概念

特殊类型 - any: 任何值,不推荐使用 - void: 没有返回值 - never: 不存在的类型,除了 never 之外,没有任何类型可以复制给 never

### 类型怎么使用

声明: - interface: 接口声明 - type: 类型声明

类型断言: - 声明变量时,使用冒号指定变量类型 - 使用 as,让变量“作为”某种类型

类型属性: - 可选: 字段名称后面加上问号 - 只读: 字段名称前面加上 readonly - 类型作为字段:[key: string]: number;

面向对象: - 实现: class XXX implements InterfaceXXX - 继承: - 类继承: class A extends B - 接口继承接口: interface A extends B - 接口继承类: interface A extends classB - 泛型: `<T>`

高级类型: - 交叉: 与的符号 &,包含所有字段 - 联合类型:或的符号,两个类型都可以

一个稍微复杂的例子:

```tsx
function pluck<T, K extends keyof T>(o: T, names: K[]): T[K][] {
return names.map(n => o[n]);
}

interface Person {
name: string;
age: number;
}
let person: Person = {
name: 'Jarid',
age: 35
};
let strings: string[] = pluck(person, ['name']); // ok, string[]
```

其中 `<>` 有两个泛型: T, K T 好说,就是一个泛型而已。K 有一个 extends,extends 的对象是 T 的字段。也就是说 K 是 T 的其中一个字段。 pluck 的含义是,把 o 按照 names 这个字段数组的顺序,值取出来,并且也放在一个数组中返回:

84868647e49a43f63806b5c506677e9a.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichaelToLearn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值