javascript类在公共函数上设置私有变量

xzabzqsa  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(158)

我可以在类的作用域上设置变量以供以后使用吗?
例子

class TestClass {
    #key = '';
    #reference = '';

    constructor({ key } = {}) {
        this.#key = key || this.#key;
    }

    login({username, password}) {
        this.#submit({ username, password });
    };

    #submit({ username, password }) {
        fetch(
            `/login/${this.#key}`,
        )
            .then(response => response.json())
            .then((json) => {
                this.#handleResponse({ json });
            })
    };

    #handleResponse({ json }) {
        this.#reference = json.reference;
    };

    token() {
        console.log(this.#key, this.#reference); // "blabla", empty
    };
};

const Test = new TestClass({ key: 'blabla' }); // initializing the class
TestClass.login({ username, password }); // running a fetch which will set a private var
TestClass.token(); // private var returns empty

它有两个公共方法login和token,其中token应该记录密钥和引用
因此,我确实得到了在构造函数上设置的键,但在处理获取时设置的引用返回空

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题