`

TypeScript中的可选属性和只读属性

阅读更多
  • 可选属性

接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个?符号。如下所示:

interface Person {
  name: string;
  age?: number;
  gender?: number;
}

上面的例子中Person对象名字(name)是不可选的,age和gender是可选的。

  • 只读属性

顾名思义就是这个属性是不可写的,对象属性只能在对象刚刚创建的时候修改其值。 你可以在属性名前用 readonly来指定只读属性,如下所示:

interface User {
    readonly loginName: string;
    password: string;
}

上面的例子说明,当完成User对象的初始化后loginName就不可以修改了。

  • readonly vs const

最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用const,若做为属性则使用readonly

TypeScript快速入门.jpg

如何用Python爬取网页制作电子书.jpg

请点击阅读原文,查看原文博客。

 

阅读原文

0
0
分享到:
评论

相关推荐

    Typescript中的接口的用途 以及属性类型接口.zip

    接口中,我们可以定义可选属性,通过在属性名后加上`?`符号来表示: ```typescript interface Person { name: string; age?: number; // 可选属性 } ``` 6. **只读属性** 使用`readonly`关键字可以创建...

    Typescript中文手册1

    可选属性允许接口中的某些属性不被强制要求存在。用`?`符号标记属性为可选: ```typescript interface OptionalUser { name?: string; age?: number; } ``` 在这个例子中,`OptionalUser`接口的`name`和`age`...

    TypeScript入门指南案例教程-51xuediannao.com.pdf

    接口可以定义函数类型、可选属性、只读属性等。 在TypeScript中定义类比JavaScript中更为丰富和严格。除了定义类的基本结构外,还可以使用constructor关键字定义构造函数,使用super关键字访问父类的属性和方法,...

    typescript官方一手教程

    2. 可选属性:定义可选的属性。 3. 只读属性:定义只读的属性。 4. 额外的属性检查:检查对象的额外属性。 5. 函数类型:定义函数的类型。 6. 可索引的类型:定义可索引的类型。 7. 类类型:定义类的类型。 8. 继承...

    前端大厂最新面试题-interface.docx

    在接口中,可以使用可选属性和只读属性。例如: ``` interface User { name: string; age?: number; readonly isMale: boolean; } ``` 这个接口定义了一个 `User` 对象,拥有 `name` 字符串属性、可选的 `age` ...

    TypeScript学习文档-基础篇(完结).doc

    * 6.2 可选属性:TypeScript 的对象类型的可选属性。 * 6.3 只读属性:TypeScript 的对象类型的只读属性。 * 6.4 索引签名:TypeScript 的对象类型的索引签名。 * 6.5 扩展类型:TypeScript 的对象类型的扩展类型。 ...

    软件开发培训之TypeScript简介

    // 可选属性 width?: number; // 只读属性 readonly x: number; // 函数类型 setTime(d: Date); } ``` 接口不仅能够定义对象的形状,还可以实现多个接口,从而实现接口之间的组合。 **3. 类** TypeScript...

    04.11 【讲义】Typescript1

    - `Partial<T>`将类型`T`的所有属性变为可选属性。 - `Required<T>`将类型`T`的所有属性变为必需属性。 - `Readonly<T>`将类型`T`的所有属性设为只读。 - `Record, T>`创建一个类型,其属性由键类型`K`和值类型`T`...

    第六课 interface接口基础1

    接下来,我们讨论接口中的可选属性。通过在属性名前加上`?`,我们可以声明一个属性为可选: ```typescript interface IBook { name: string; num?: number; } let book: IBook = { name: '星星课堂' }; ``` 在...

    TypeScript入门-接口

    在这个例子中,`SquareConfig`接口有两个可选属性,`color`和`width`。 只读属性(Readonly Properties)用于创建不可修改的对象属性。在接口中,我们可以通过在属性前加上`readonly`关键字来实现这一功能: ```...

    typescript-stages:Type学习TypeScript的分阶段记录

    可选属性(optional properties)用问号(?)标记,意味着属性不是必须存在的,如`interface Person { name: string; age?: number }`,这里的age属性是可选的。 在学习过程中,你可能会遇到以下知识点: 1. 类型...

    22-error(错误信息列表22).pdf

    17. **readonly修饰符** (1024错误):`readonly`只能用在属性声明或索引签名上,用来创建只读属性。 18. **已看到可访问性修饰符** (1028错误):在同一个声明中,不允许重复使用访问修饰符,如`public`、`private`...

    系列清单

    12. **严格模式(Strict Mode)**:通过开启严格模式,TypeScript会启用更严格的错误检查,例如禁止未声明的变量、不允许赋值给只读属性等。 13. **NPM包和库**:TypeScript社区提供了丰富的NPM包和库,如Angular、...

    前端开源库-type-fest

    3. **类型实用工具**: 除了基本类型,Type-Fest还提供了许多有用的类型工具函数,如`NonNullable<T>`用于去除可选值和null/undefined。 **二、Type-Fest的常用类型** 1. **UrlSearchParams**: 提供了对URL查询参数...

Global site tag (gtag.js) - Google Analytics