面试题答案
一键面试优化方案分析
- 静态成员:用于存储类所有实例间共享的数据。因为静态成员只在类级别存在一份,不会随着每个实例的创建而重复创建,从而节省内存空间,提高性能。
- 实例成员:用于存储每个实例特有的数据。每个实例都有自己独立的实例成员,互不干扰。
核心代码示例
class MyClass {
// 静态成员,用于共享数据
static sharedData: string = 'default shared data';
// 实例成员,用于实例特有的数据
instanceData: string;
constructor(instanceData: string) {
this.instanceData = instanceData;
}
static getSharedData() {
return MyClass.sharedData;
}
getInstanceData() {
return this.instanceData;
}
}
// 使用示例
const instance1 = new MyClass('data for instance 1');
const instance2 = new MyClass('data for instance 2');
console.log(instance1.getInstanceData());
console.log(instance2.getInstanceData());
console.log(MyClass.getSharedData());
在这个示例中,sharedData
是静态成员,所有 MyClass
的实例都共享这一份数据。instanceData
是实例成员,每个实例都有自己独立的 instanceData
。通过这种方式,既能满足数据共享的需求,又能区分每个实例特有的数据,同时提升性能和代码可维护性。