gpt4 book ai didi

javascript - 可以在 JS 中创建类/实例范围的 getter 和 setter 吗?

转载 作者:行者123 更新时间:2023-12-03 04:59:38 24 4
gpt4 key购买 nike

我正在尝试在 JS 中实现一个带有大量 getter 和 setter 的单例类。如果我可以为此类中的所有 getter 和 setter 定义一个原型(prototype)/父级,那就方便多了,因为它们都需要在返回值之前尝试并初始化单例

export class GameData {

constructor() {
this._level = 0;
this._score = 0;
}

static _init() {
if (!GameData._inst) {
GameData._inst = new GameData();
}
}
static clear() {
GameData._inst = null;
}

/*
Properties
I do not want to call GameData.init() on every property, any way to only do this once?
*/
static get level() {
GameData._init();
return GameData._inst._level;
}
static set level(val) {
GameData._init();
GameData._inst._level = val;
}
static get score() {
GameData._init();
return GameData._inst._score;
}
static set score(val) {
GameData._init();
GameData._inst._score = val

}

最佳答案

是的,停止创建单例。和 setter/getter 。还有二传手。

class GameData {
constructor() {
this.level = 0;
this.score = 0;
}
}

export default new GameData();

关于javascript - 可以在 JS 中创建类/实例范围的 getter 和 setter 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com