MST

星途 面试题库

面试题:JavaScript中class关键字下的静态方法与私有属性模拟

使用JavaScript的class关键字定义一个`MathUtils`类,要求包含一个静态方法`add`用于两个数相加并返回结果;同时,尝试使用ES6的WeakMap模拟一个私有属性`_secretValue`,并提供一个公共方法`getSecret`来获取该私有属性的值。
28.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
class MathUtils {
    constructor() {
        const privateData = new WeakMap();
        privateData.set(this, {
            _secretValue: 'This is a secret'
        });
        this.getSecret = () => {
            return privateData.get(this)._secretValue;
        };
    }
    static add(a, b) {
        return a + b;
    }
}