TypeScript 对象学习笔记

TypeScript 是一种面向对象编程语言,它提供了丰富的对象类型和方法。在 TypeScript 中,对象是指一组属性和方法的集合,可以用类、接口和字面量等方式定义。

类(Class)

类是一种模板,用于创建对象。在 TypeScript 中,类包含属性和方法,并且可以继承另一个类。下面是一个简单的类定义示例:

typescriptCopy Code
class Person { name: string; age: number; constructor(name: string, age: number) { this.name = name; this.age = age; } sayHello() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } }

上面的代码定义了一个名为 Person 的类,它有 nameage 两个属性,以及一个 sayHello 方法。构造函数 constructor 用来初始化对象,并将传入的参数赋值给类的属性。

使用该类创建一个新的对象如下所示:

typescriptCopy Code
const person = new Person('Tom', 22); person.sayHello(); // 输出:Hello, my name is Tom and I'm 22 years old.

接口(Interface)

接口定义了一个对象需要遵循的结构和属性。在 TypeScript 中,接口可以用来描述对象的形状,它不会实现任何东西,只是一种类型检查机制。下面是一个简单的接口定义示例:

typescriptCopy Code
interface Point { x: number; y: number; } function printPoint(point: Point) { console.log(`(${point.x}, ${point.y})`); }

上面的代码定义了一个名为 Point 的接口,它有 xy 两个属性。printPoint 函数接收一个 Point 类型的参数,并输出该点的坐标。

使用该接口传递对象参数的示例如下:

typescriptCopy Code
const point = { x: 1, y: 2 }; printPoint(point); // 输出:(1, 2)

字面量(Literals)

字面量是一种直接指定对象值的方式,比如字符串、数字、布尔值等。在 TypeScript 中,字面量可以用来定义对象、数组和函数类型。下面是一个简单的字面量对象定义示例:

typescriptCopy Code
const person = { name: 'Tom', age: 22, sayHello() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } };

上面的代码使用字面量定义了一个叫做 person 的对象,它有 nameage 两个属性,以及一个 sayHello 方法。

使用该对象调用 sayHello 方法的示例如下:

typescriptCopy Code
person.sayHello(); // 输出:Hello, my name is Tom and I'm 22 years old.

总结

本文简要介绍了 TypeScript 中对象的三种定义方式:类、接口和字面量。通过实例演示了对象的基本使用,希望能对 TypeScript 初学者有所帮助。