MST

星途 面试题库

面试题:JavaScript 为已有类添加方法场景下的方法定义

假设在 JavaScript 中有一个已有的类 `Person`,包含属性 `name` 和 `age`。现在需要为 `Person` 类添加一个 `introduce` 方法,该方法返回 '我叫[姓名],今年[年龄]岁' 的字符串信息。请写出实现代码,并简要说明这种为已有类添加方法的场景可能在项目中的哪些地方用到。
26.3万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

实现代码

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
}

Person.prototype.introduce = function() {
    return `我叫${this.name},今年${this.age}岁`;
};

应用场景

  1. 代码模块化与扩展:在一个大型项目中,Person 类可能在基础模块中定义,而具体业务可能需要对其功能进行扩展。比如在用户管理模块中,需要对用户(Person 类实例)进行自我介绍的功能,就可以通过这种方式为 Person 类添加 introduce 方法,而不需要修改基础模块的代码,保持了模块的独立性和稳定性。
  2. 复用与定制化:当有多个相似的业务场景都用到 Person 类,但每个场景对 Person 的功能需求略有不同时。可以在不改变原有 Person 类结构的基础上,通过添加特定方法满足不同场景需求。例如在一个社交平台项目中,聊天模块和个人资料展示模块都使用 Person 类,聊天模块可能需要 introduce 方法用于打招呼,而展示模块可能需要其他方法,通过这种动态添加方法的方式实现定制化。