繁体   English   中英

Javascript - 如何在方法中获取/设置? (例如 pineapple.is_a.fruit)

[英]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_ais属性上定义对象。 例如(见评论):

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM