我有一个接口
export interface IFilaActividad {
[key: string]: any
}
我在其中动态创建属性
var filaActividad: IFilaActividad = {}
this.columnsToDisplay.forEach(c => {
Object.defineProperty(filaActividad, c, {});
}
);
我看到了我的属性,现在我想记录它们
for (let prop in filaActividad) {
console.log("Propiedades", prop);
}
但没有记录任何内容,永远不会在for
有什么想法吗?
谢谢
2条答案
按热度按时间rhfm7lfc1#
默认情况下,使用
Object.defineProperty()
添加的属性不可写、不可枚举且不可配置!当你用这种方式定义一个属性时,默认情况下,你不能覆盖它,删除它,或者通过
for...in
或Object.keys
访问它!为了实现这一点,你需要为第三个参数,数据描述符对象提供额外的标志。欧洲
...你应该...
Source
laawzig22#
您看不到任何内容,因为对象中的所有值都是
undefined
(基于发布的图像)。如果您想查看对象的
keys
,则只需记录prop
:如果你只对你的对象键感兴趣,你也可以使用
Object.keys
: