TypeScript:对象、接口可选属性(使用问号?)

介绍

用于声明对象的 属性可选(可存在也可不存在)

应用场景

类似 TypeScript:函数可选形参(使用问号?),比如 Student 对象中有 zuoji (座机号码)属性,现在大部分家庭已经没有座机了,所以该属性可以不传值

语法

interface/type 类型名 {
  可选属性?: 类型;
  必选属性: 类型;
}

例子

定义接口

zuoji 可选,name 必选

interface User {
  name: string;
  zuoji?: string; // ? 表示 zuoji 可选
}

创建对象

无 zuoji 属性:

const user1: User = { name: "张三" };

有 zuoji 属性:

const user2: User = { name: "李四", zuoji: "13812345678" };

原文出处:/show_1GW2QbhIma17.html