【发布时间】:2018-04-27 01:03:31
【问题描述】:
在python中我通常只是做这样的事情:
## single person
class Person:
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.age = age
## empty when instantiated
class People:
def __init_(self):
self._people = {}
def update(self, Person):
self._people[Person.first_name] = Person
def update2(self, person):
self.update(Person(**person))
people = People()
people.update2({'first_name': 'Mike', 'last_name': 'Smith', 'age':7})
我的目标是在 typescript 中实现这种精确的行为。这是我到目前为止所拥有的。
class Person {
constructor(first_name, last_name, age){}
}
class People{
public _people;
constructor(){
//not sure if there is a cleaner way to add _people to new instances
this._people = {}
}
update(Person){
this._people[Person.first_name] = Person
}
update2(my_object){
//Person(my_object) should return an instance of the Person class
this.update(Person(my_object))
}
}
var people = new People()
people.update2({first_name:'Bob', last_name:'Smith', age:7})
非python人士的解释。
目标是创建一个可以保存 Person 类实例的 People 类。我想将一个对象传递给 update2,并使用该对象的键/值来创建 Person 类的实例。
如果有任何不清楚的地方,请告诉我。
【问题讨论】:
标签: typescript