TypeScript 的 Object Types

简介: TypeScript 的 Object Types

有三种方式定义 TypeScript 的 object Types.

1. 匿名类型 - anonymous type

function greet(person: { name: string; age: number }) {
  return "Hello " + person.name;
}

2. 使用 interface

interface Person {
  name: string;
  age: number;
}
function greet(person: Person) {
  return "Hello " + person.name;
}

3. 使用 type alias

type Person = {
  name: string;
  age: number;
};
function greet(person: Person) {
  return "Hello " + person.name;
}

对象类型中的每个属性都可以指定几项内容:类型、属性是否可选以及是否可以写入该属性。


read only 属性

使用 readonly 修饰符并不一定意味着一个值是完全不可变的——或者换句话说,被 readonly 修饰的属性,并不意味着它的内部内容不能改变。 这只是意味着属性本身不能被重写。

interface Home {
  readonly resident: { name: string; age: number };
}
function visitForBirthday(home: Home) {
  // We can read and update properties from 'home.resident'.
  console.log(`Happy birthday ${home.resident.name}!`);
  home.resident.age++;
}
function evict(home: Home) {
  // But we can't write to the 'resident' property itself on a 'Home'.
  home.resident = {
Cannot assign to 'resident' because it is a read-only property.Cannot assign to 'resident' because it is a read-only property.
    name: "Victor the Evictor",
    age: 42,
  };
}
相关文章
|
JavaScript 开发者 索引
搞懂 TypeScript 中的映射类型(Mapped Types)
搞懂 TypeScript 中的映射类型(Mapped Types)
749 0
|
JavaScript 前端开发 测试技术
TypeScript高级类型:探索Mapped Types的威力及衍生
TypeScript高级类型:探索Mapped Types的威力及衍生
「TypeScript」你必须要知道的 TS 高级技能点 —— Utility Types
「TypeScript」你必须要知道的 TS 高级技能点 —— Utility Types
|
JavaScript 安全
TypeScript 中你不一定知道的 top types,在用 any 之前先试试 unknown?
最近发现了一本 TS 相关的电子书,Tackling TypeScript[1]。随便翻看了一下,就发现了自己很感兴趣的一个问题,并且也经常听说在国内面试中出现。
|
JavaScript 开发者 索引
搞懂 TypeScript 中的映射类型(Mapped Types)
本文从数学中的映射作为切入点,详细介绍 TypeScript 映射类型(Mapped Type)并介绍映射类型的应用和修饰符的应用。
392 1
|
JavaScript 前端开发 API
TypeScript 之 Conditional Types
TypeScript 的官方文档早已更新,但我能找到的中文文档都还停留在比较老的版本。所以对其中新增以及修订较多的一些章节进行了翻译整理。
136 0
TypeScript 之 Conditional Types
|
JavaScript API 索引
TypeScript 之 Indexed Access Types
TypeScript 的官方文档早已更新,但我能找到的中文文档都还停留在比较老的版本。所以对其中新增以及修订较多的一些章节进行了翻译整理。
171 0
TypeScript 之 Indexed Access Types
|
JavaScript 前端开发 安全
TypeScript 之 Object Types
TypeScript 的官方文档早已更新,但我能找到的中文文档都还停留在比较老的版本。所以对其中新增以及修订较多的一些章节进行了翻译整理。
115 0
TypeScript 之 Object Types
|
JavaScript
TypeScript 工具类型 - Utility Types
TypeScript 工具类型 - Utility Types
115 0
TypeScript 工具类型 - Utility Types
|
2月前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法

热门文章

最新文章

下一篇
无影云桌面