📜  typescript 初始化对象 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:35:24.361000             🧑  作者: Mango

TypeScript 初始化对象

在 TypeScript 中,我们可以使用以下方法来初始化对象:

  • 对象字面量
  • 构造函数
  • 类型断言
对象字面量

我们可以使用对象字面量来初始化一个对象,并指定它的属性和属性值:

const person = {
  name: "John",
  age: 30,
  address: {
    street: "123 Main St.",
    city: "Anytown",
    state: "CA",
    zip: "12345"
  }
};

在上面的例子中,我们定义了一个 person 对象,它有一个 name 属性和一个 age 属性,还有一个名为 address 的嵌套对象。

构造函数

若要使用构造函数来创建一个对象,我们需要定义一个类。类是一个模板,用于创建具有相同属性和方法的对象。然后,我们可以使用 new 关键字来实例化这个类并初始化新对象的属性。

class Person {
  name: string;
  age: number;
  address: {
    street: string;
    city: string;
    state: string;
    zip: string;
  };
  
  constructor(name: string, age: number, address: any) {
    this.name = name;
    this.age = age;
    this.address = address;
  }
}

const person = new Person("John", 30, {
  street: "123 Main St.",
  city: "Anytown",
  state: "CA",
  zip: "12345"
});

在上面的例子中,我们定义了一个 Person 类,它有一个构造函数。构造函数接受三个参数(nameageaddress),并将它们分别赋值给类的 nameageaddress 属性。我们创建了一个名为 person 的新对象,并使用传入的参数值实例化了 Person 类。

类型断言

还可以使用类型断言来帮助 TypeScript 推断对象的类型。类型断言使用关键字 as,让编译器将一个值转换为指定的类型。

const person = {
  name: "John",
  age: 30,
  address: {
    street: "123 Main St.",
    city: "Anytown",
    state: "CA",
    zip: "12345"
  }
} as Person;

在上面的例子中,我们将对象字面量断言为 Person 类型。这使 TypeScript 可以判断 person 对象具有 Person 类型的属性和方法。

无论是使用对象字面量、构造函数还是类型断言,都可以有效地创建和初始化 TypeScript 对象。