# 接口

在 ts 中, 我们使用 interfaces 来定义对象的类型

interface Name {
  readonly name: string; // 只读属性
  age: number;
  sex?: 0 | 1; // 可选属性
  [param: string]: string; // 注意 这里写了值为string, 跟上面的age和sex的值是相斥的会报错, 解决方案如下
}

// 解决方案
type Name =
  | {
      readonly name: string;
      age: number;
      sex?: 0 | 1; // 可选属性
    }
  | {
      readonly name: string; // 只读属性
      age: never;
      sex: never; // 可选属性
      [param: string]: string; // 注意 这里写了值为string, 跟上面的age和sex的值是相斥的会报错, 解决方案如下
    };

const name: Name = {
  age: 1,
  sex: 1,
  name: "week",
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Last Updated: 9/1/2021, 2:33:08 PM