gpt4 book ai didi

javascript - OOP - 对象列表上的公共(public)属性

转载 作者:行者123 更新时间:2023-11-30 15:57:02 26 4
gpt4 key购买 nike

我正在构建一个对象列表。

看起来像这样:

var item = {} // new object
item['d'] = {
element: 'string',
val_1: false,
val_2: false,
val_3: false
}

这些对象中的每一个都可以属于一个家族或类别。我对 OOP 中类的概念没有完全理解。

我会有两个家庭:左边和右边。

我想做的,而不是做这样的事情:

item['d_right'] = {
element: 'Whatever',
val_1: false,
val_2: false,
val_3: false
}

item['d_left'] = {
element: 'Something',
val_1: false,
val_2: false,
val_3: false
}

会是这样的:

class right {

item['d'] = {
element: 'Whatever',
val_1: false,
val_2: false,
val_3: false
}

// Other elements from the class right

}

class left {

item['d'] = {
element: 'Something',
val_1: false,
val_2: false,
val_3: false
}

// Other elements from the class left

}

然后,可以像这样轻松地调用它:

console.log(item[left][d].element) // would echo "Something"

这是做这样事情的方法吗?

感谢您的帮助。

最佳答案

这就是 Javascript 的工作原理,明智地使用它

class middle {      
constructor(element) {
this.var1 = 1;
this.var2 = 2;
this.element = element;
}
}

class left extends middle {
constructor() {
// calls the constructor of middle
super("left_element")
}
}

var myLeft = new left()
myLeft.var1 // -> 1

但是,有很多讨论,不管它好不好,因为正如其他人已经说过的,它更像是一个基于 js 原型(prototype)功能之上的语法糖。

我个人没有使用它,在大多数情况下,一个对象或函数就足以在 javascript 中使用。

但是在某些情况下您必须使用类,所以了解它是如何工作的并不是一个坏主意。

关于javascript - OOP - 对象列表上的公共(public)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38360130/

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