Javascript 有没有办法让console.table执行属性访问器函数?
我有一个具有许多getter属性的对象集合。我希望能够使用Javascript 有没有办法让console.table执行属性访问器函数?,javascript,google-chrome,console,Javascript,Google Chrome,Console,我有一个具有许多getter属性的对象集合。我希望能够使用console.table在控制台中打印这些值的子集。当前的实现似乎不允许这样做,有解决办法吗 let obj = { get prop() { return "getter"; } id:1 } console.table([obj]); // prints only index, and id console.table([obj], ["prop"]); // prints only ind
console.table
在控制台中打印这些值的子集。当前的实现似乎不允许这样做,有解决办法吗
let obj = {
get prop() {
return "getter";
}
id:1
}
console.table([obj]); // prints only index, and id
console.table([obj], ["prop"]); // prints only index, but still not "prop"
控制台。表api是 目前-chrome无法使用,如果您要检查firefox-所有由getter定义的值都打印为
未定义的
请注意,这与obj中的hasOwnProperty
或'prop'无关(两者都很有效),但是它可能与对象相关。getOwnPropertyDescriptor
在您的示例中(对于Chrome和Firefox):
然而,如果是这种情况,我希望Chrome也会显示prop
列(即使其中有未定义的值)
您可以使用此代码段在浏览器上进行测试:
让obj={
获取道具(){
返回“getter”;
},
身份证号码:1
}
console.log('log“t in obj”'))
用于(obj中的var t){
console.log(t,obj[t]);
}
console.log(“”)
控制台表([obj]);
控制台表([obj],“id”]);
控制台.表格([obj],“prop”]);//当前在firefox中返回一列“未定义”,而在chrome中该列不存在。
Object.getOwnPropertyDescriptor(obj, 'id').value
// 1
Object.getOwnPropertyDescriptor(obj, 'prop').value
// undefined