代码点读机 / TypeScript / &

& TypeScript · 符号

类型层面是「交叉类型」:把几个类型的成员全部合在一起,值必须同时满足每一个;数值层面是按位与(少见)。

怎么用

type 名字 = 类型A & 类型B;

小例子

interface 会跑 { 跑(): void; }
interface 会叫 { 叫(): string; }
const 狗: 会跑 & 会叫 = {
  跑() {},
  叫() { return "汪"; }
};
console.log(狗.叫());

运行结果

汪

提醒:和 | 相反:| 是「任选其一」,& 是「全都要」

官方文档:https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← TypeScript全部词条