我在浏览器控制台中运行以下代码,并在终端中使用 node.js v9.11.1
:
let name = {};
Object.defineProperty(name, 'last', {value: 'Doe'});
console.log(name);
浏览器控制台正常工作并输出{ last: 'Doe' }
。但是在带有 node.js
的终端中,它失败并输出一个空白对象,{}
。
这可能是什么问题?
最佳答案
属性描述符的属性之一是enumerable
,其默认值为false
。如果一个属性是不可枚举的,Node.js 选择不显示该属性,就是这样。
你可以改变那个位然后试试这个
let name = {};
Object.defineProperty(name, 'last', {
value: 'Doe',
enumerable: true
});
console.log(name);
关于javascript - Node.js 中的 Object.defineProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951150/