TypeScript 对象学习笔记
TypeScript 是一种面向对象编程语言,它提供了丰富的对象类型和方法。在 TypeScript 中,对象是指一组属性和方法的集合,可以用类、接口和字面量等方式定义。
类(Class)
类是一种模板,用于创建对象。在 TypeScript 中,类包含属性和方法,并且可以继承另一个类。下面是一个简单的类定义示例:
typescriptCopy Codeclass 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
的类,它有 name
和 age
两个属性,以及一个 sayHello
方法。构造函数 constructor
用来初始化对象,并将传入的参数赋值给类的属性。
使用该类创建一个新的对象如下所示:
typescriptCopy Codeconst person = new Person('Tom', 22);
person.sayHello(); // 输出:Hello, my name is Tom and I'm 22 years old.
接口(Interface)
接口定义了一个对象需要遵循的结构和属性。在 TypeScript 中,接口可以用来描述对象的形状,它不会实现任何东西,只是一种类型检查机制。下面是一个简单的接口定义示例:
typescriptCopy Codeinterface Point {
x: number;
y: number;
}
function printPoint(point: Point) {
console.log(`(${point.x}, ${point.y})`);
}
上面的代码定义了一个名为 Point
的接口,它有 x
和 y
两个属性。printPoint
函数接收一个 Point
类型的参数,并输出该点的坐标。
使用该接口传递对象参数的示例如下:
typescriptCopy Codeconst point = { x: 1, y: 2 };
printPoint(point); // 输出:(1, 2)
字面量(Literals)
字面量是一种直接指定对象值的方式,比如字符串、数字、布尔值等。在 TypeScript 中,字面量可以用来定义对象、数组和函数类型。下面是一个简单的字面量对象定义示例:
typescriptCopy Codeconst person = {
name: 'Tom',
age: 22,
sayHello() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
};
上面的代码使用字面量定义了一个叫做 person
的对象,它有 name
和 age
两个属性,以及一个 sayHello
方法。
使用该对象调用 sayHello
方法的示例如下:
typescriptCopy Codeperson.sayHello(); // 输出:Hello, my name is Tom and I'm 22 years old.
总结
本文简要介绍了 TypeScript 中对象的三种定义方式:类、接口和字面量。通过实例演示了对象的基本使用,希望能对 TypeScript 初学者有所帮助。