繁体   English   中英

Javascript 实例化用户定义的 class object 从给定的 object 不设置所有属性

[英]Javascript instantiate user-defined class object from given object does not set all properties

我在 javascript 中有一个用户定义的 class PaymentCoordinator ,其构造函数如下所示:

constructor(
private amount: number,
private description: string,
private title: string,
private transactionType: string,
private creditors: Array<any>,
private categories: Array<string>,
private startdate: Date = undefined,
private enddate: Date = undefined,
obj: any = false)

构造函数obj中的最后一个属性用于从给定的 object obj实例化PaymentCoordinator object - 这就像克隆给定的 object 一样 在构造函数中,如果给定了一个obj ( obj !== false ),我将按如下方式进行克隆:

obj && Object.assign(this, obj);

给定obj的所有属性都已正确设置 - 除了一个属性categories是字符串数组。

我也试过:

obj && Object.assign(this, obj);
this.categories = obj.categories

但这也不会在新创建的 object 上设置categories属性。

如果我 plot obj.categories我验证了数组包含字符串。

任何想法为什么这不起作用?

JavaScript 中的对象通过引用传递

 const obj = { array: [1, 2, 3] } const clone = Object.assign({}, obj) console.log(clone.array) obj.array.length = 0 console.log(clone.array)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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