面试题答案
一键面试class Animal {
eat() {
console.log('Animal is eating');
}
}
namespace Animal {
export function createAnimal(): Animal {
return new Animal();
}
}
声明合并在实际项目中的潜在应用场景
- 工具类扩展:比如有一个
MathUtils
类,原本有一些常规的数学计算方法。随着项目发展,需要添加一些静态工厂方法来创建特定的MathUtils
实例,用于特定场景的计算,就可以使用声明合并来添加静态方法。 - 单例模式实现:对于一些需要全局唯一实例的类,如
Logger
类用于记录日志。通过声明合并添加一个静态的getInstance
方法来获取唯一实例,方便在整个项目中调用。 - 模块化功能增强:在一个模块中定义了某个基础类,后续不同部分的代码可能需要为这个类添加不同的静态辅助方法,声明合并允许在不修改原始类定义的情况下进行扩展。