- 可选属性
接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个?
符号。如下所示:
interface Person {
name: string;
age?: number;
gender?: number;
}
上面的例子中Person对象名字(name)是不可选的,age和gender是可选的。
- 只读属性
顾名思义就是这个属性是不可写的,对象属性只能在对象刚刚创建的时候修改其值。 你可以在属性名前用 readonly
来指定只读属性,如下所示:
interface User {
readonly loginName: string;
password: string;
}
上面的例子说明,当完成User对象的初始化后loginName就不可以修改了。
-
readonly
vsconst
最简单判断该用readonly
还是const
的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用const
,若做为属性则使用readonly
。
请点击阅读原文,查看原文博客。
相关推荐
接口中,我们可以定义可选属性,通过在属性名后加上`?`符号来表示: ```typescript interface Person { name: string; age?: number; // 可选属性 } ``` 6. **只读属性** 使用`readonly`关键字可以创建...
可选属性允许接口中的某些属性不被强制要求存在。用`?`符号标记属性为可选: ```typescript interface OptionalUser { name?: string; age?: number; } ``` 在这个例子中,`OptionalUser`接口的`name`和`age`...
接口可以定义函数类型、可选属性、只读属性等。 在TypeScript中定义类比JavaScript中更为丰富和严格。除了定义类的基本结构外,还可以使用constructor关键字定义构造函数,使用super关键字访问父类的属性和方法,...
2. 可选属性:定义可选的属性。 3. 只读属性:定义只读的属性。 4. 额外的属性检查:检查对象的额外属性。 5. 函数类型:定义函数的类型。 6. 可索引的类型:定义可索引的类型。 7. 类类型:定义类的类型。 8. 继承...
在接口中,可以使用可选属性和只读属性。例如: ``` interface User { name: string; age?: number; readonly isMale: boolean; } ``` 这个接口定义了一个 `User` 对象,拥有 `name` 字符串属性、可选的 `age` ...
* 6.2 可选属性:TypeScript 的对象类型的可选属性。 * 6.3 只读属性:TypeScript 的对象类型的只读属性。 * 6.4 索引签名:TypeScript 的对象类型的索引签名。 * 6.5 扩展类型:TypeScript 的对象类型的扩展类型。 ...
// 可选属性 width?: number; // 只读属性 readonly x: number; // 函数类型 setTime(d: Date); } ``` 接口不仅能够定义对象的形状,还可以实现多个接口,从而实现接口之间的组合。 **3. 类** TypeScript...
- `Partial<T>`将类型`T`的所有属性变为可选属性。 - `Required<T>`将类型`T`的所有属性变为必需属性。 - `Readonly<T>`将类型`T`的所有属性设为只读。 - `Record, T>`创建一个类型,其属性由键类型`K`和值类型`T`...
- **6.1.1 可选属性** - 允许对象包含额外的属性。 - **6.1.2 只读属性** - 属性一旦初始化就不能再修改。 - **6.1.3 索引签名** - 允许对象使用字符串或数字作为索引。 **6.2 扩展类型** 通过继承现有类型来...
接下来,我们讨论接口中的可选属性。通过在属性名前加上`?`,我们可以声明一个属性为可选: ```typescript interface IBook { name: string; num?: number; } let book: IBook = { name: '星星课堂' }; ``` 在...
在这个例子中,`SquareConfig`接口有两个可选属性,`color`和`width`。 只读属性(Readonly Properties)用于创建不可修改的对象属性。在接口中,我们可以通过在属性前加上`readonly`关键字来实现这一功能: ```...
可选属性(optional properties)用问号(?)标记,意味着属性不是必须存在的,如`interface Person { name: string; age?: number }`,这里的age属性是可选的。 在学习过程中,你可能会遇到以下知识点: 1. 类型...
17. **readonly修饰符** (1024错误):`readonly`只能用在属性声明或索引签名上,用来创建只读属性。 18. **已看到可访问性修饰符** (1028错误):在同一个声明中,不允许重复使用访问修饰符,如`public`、`private`...
12. **严格模式(Strict Mode)**:通过开启严格模式,TypeScript会启用更严格的错误检查,例如禁止未声明的变量、不允许赋值给只读属性等。 13. **NPM包和库**:TypeScript社区提供了丰富的NPM包和库,如Angular、...
3. **类型实用工具**: 除了基本类型,Type-Fest还提供了许多有用的类型工具函数,如`NonNullable<T>`用于去除可选值和null/undefined。 **二、Type-Fest的常用类型** 1. **UrlSearchParams**: 提供了对URL查询参数...