面试题答案
一键面试- 优化方式示例:
- 假设有一个父类
Animal
和子类Dog
。
class Animal { constructor(name) { this.name = name; } } class Dog extends Animal { constructor(name, breed) { super(name); this.breed = breed; // 可将一些初始化逻辑提取到方法中 this.init(); } init() { // 这里可以放一些复杂的初始化逻辑,例如设置默认的行为等 this.defaultBehavior = 'bark'; } }
- 假设有一个父类
- 好处:
- 提高性能:
- 将复杂的初始化逻辑封装到
init
方法中,使得构造函数的逻辑更加简洁,减少构造函数执行时的计算量,在创建大量Dog
实例时,能提高实例化的速度。
- 将复杂的初始化逻辑封装到
- 增强可维护性:
- 代码结构更清晰,把不同的初始化任务分离开来。如果需要修改
Dog
实例的初始化逻辑,只需要修改init
方法,而不需要在构造函数中复杂的逻辑中寻找修改点,降低了维护成本。同时,这种方式也便于代码的复用,如果其他子类也有类似的初始化逻辑,可以继承这个init
方法。
- 代码结构更清晰,把不同的初始化任务分离开来。如果需要修改
- 提高性能: