MST
星途 面试题库

面试题:TypeScript类声明值与类型原理基础考查

请阐述在TypeScript中,类是如何同时声明值和类型的?并举例说明类声明的类型如何在函数参数和返回值中应用。
26.0万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

类同时声明值和类型

在TypeScript中,类可以同时声明值和类型。类的定义不仅描述了对象的结构(属性和方法),即值,同时也定义了一种类型。

  • 声明值:通过在类中定义属性和方法来声明值。例如:
class Person {
    // 声明属性(值)
    name: string;
    age: number;

    // 声明方法(值)
    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }

    greet() {
        return `Hello, my name is ${this.name} and I'm ${this.age} years old.`;
    }
}

这里nameage属性以及greet方法都是类声明的值。

  • 声明类型:类本身就是一种类型。在上述例子中,Person类定义了一种类型,该类型的对象具有name(字符串类型)、age(数字类型)属性以及greet方法。

在函数参数和返回值中应用类声明的类型

  1. 函数参数中应用:可以将类作为参数类型来确保传入的对象符合该类定义的结构。
function printPerson(person: Person) {
    console.log(person.greet());
}

const john = new Person('John', 30);
printPerson(john);

这里printPerson函数接受一个Person类型的参数,只有符合Person类结构的对象才能作为参数传入。

  1. 函数返回值中应用:函数也可以返回一个类类型的对象。
function createPerson(name: string, age: number): Person {
    return new Person(name, age);
}

const jane = createPerson('Jane', 25);
console.log(jane.greet());

createPerson函数返回一个Person类型的对象,调用者可以根据Person类的结构来使用返回的对象。