![](/img/trans.png)
[英]Is race condition possible in Javascript? (e.g.: I want to get and set value atomically)
[英]Javascript - How do I have a get/set in a method? (e.g. pineapple.is_a.fruit)
我有一个任务,我应该从编程中变魔术。 我无法在网上找到任何答案,因为我不知道它的搜索词(在方法中尝试过方法等......)。 感谢您提供的任何帮助!
这是我得到的:我需要创建一个基于自身构建的类。 例如
const pineapple = new Item('pineapple');
pineapple.type = fruit // this is simple
pineapple.is_a.fruit = true // this I do not know
pineapple.is.heavy = true // same thing
我什至不知道从哪里开始。 我的尝试与此类似,但我变得不确定。
class Thing {
constructor(type) {
this.type = type;
}
is_a(bool) {
this.fruit = this.is_a(bool);
}
}
假设它们可以提前定义,为了拥有像pineapple.is_a.fruit
这样的子属性,您需要在对象的is_a
和is
属性上定义对象。 例如(见评论):
class Item { // `Item` rather than `Thing`, right? constructor(type) { this.type = type; // Create an `is_a` property that's an object with a `fruit` property this.is_a = { fruit: false // Or whatever the initial value should be }; // Create an `is` property that's an object with a `heavy` property this.is = { heavy: false // Or whatever the initial value should be }; } } const pineapple = new Item('pineapple'); pineapple.type = "fruit"; // I added quotes here console.log("is_a.fruit before:", pineapple.is_a.fruit); console.log("is.heavy before:", pineapple.is_a.fruit); pineapple.is_a.fruit = true; pineapple.is.heavy = true; console.log("is_a.fruit after: ", pineapple.is_a.fruit); console.log("is.heavy after: ", pineapple.is_a.fruit);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.