【问题标题】:How to find the name of an object created in a class in Javascript如何在Javascript中查找在类中创建的对象的名称
【发布时间】:2020-06-20 23:46:05
【问题描述】:

所以我需要做的是在创建类时获取它的名称。

class Car {
  constructor(color) {
    this.color = color;
  }
}

newcar = new Car('Red');

objectNames = []

我需要将我创建的对象的名称 (newcar) 放入数组 (objectNames) 中。我试图搜索它,但我什至不确定要搜索什么。感谢您的帮助!

【问题讨论】:

  • “对象的名称”是什么意思?您的意思是“我想跟踪所有创建的 Car 对象吗?”
  • 是的!对不起,如果我说不清楚

标签: javascript arrays class


【解决方案1】:

你的意思是这样的

    objectNames = []
class Car {
  constructor(carmaker,color) {
    this.color = color;
    this.carmaker=carmaker
  }
  saveob(){
    objectNames.push({[this.carmaker]:this.color})
  }
}
newcar = new Car('toyota','Red').saveob()
console.log(objectNames)
console.log(Object.keys(objectNames[0])[0])
console.log(objectNames[0].toyota)

【讨论】:

  • 我正在选择一种无需直接输入名称即可保存的解决方案
  • 我已经更新了代码,看看是不是你想要的
  • 您可以使用saveob() 函数保存带有属性的对象,但是如果您想保存对象,您只需将this.color 更改为this
【解决方案2】:

在类中使用 getter

class Car {
  constructor(color) {
    this._color = color;
  }
  get color(){
    return this._color;
  }
}

var newcar = new Car('Red');

var objectNames = [];
objectNames.push(newcar.color);

console.log(objectNames);

【讨论】:

    猜你喜欢
    • 2018-04-11
    • 2019-07-03
    • 1970-01-01
    • 2021-06-16
    • 2015-10-24
    • 1970-01-01
    • 2014-10-03
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多