MST
星途 面试题库

面试题:TypeScript中如何定义接口的只读属性与可选属性

请用TypeScript代码定义一个接口,其中包含一个只读属性`id`(类型为数字)和一个可选属性`name`(类型为字符串),并说明在实际使用中只读属性和可选属性的特性及应用场景。
37.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface MyInterface {
    readonly id: number;
    name?: string;
}

只读属性特性及应用场景

  • 特性:一旦对象被创建,只读属性的值就不能再被修改。在TypeScript中,通过readonly关键字来定义。
  • 应用场景:用于标识那些在对象生命周期内不会改变的唯一标识符,例如数据库记录的主键id。它可以防止代码中无意地修改该值,增强代码的稳定性和可维护性。

可选属性特性及应用场景

  • 特性:可选属性不是对象必须具备的属性,在创建对象时可以不包含该属性。在TypeScript中,通过在属性名后加?来定义。
  • 应用场景:当对象的某些属性不是每次都需要提供时,使用可选属性。例如用户信息对象中,name字段对于某些匿名用户可能没有设置,这时name就可以定义为可选属性,使对象的创建更加灵活。