[英]ES6: console.log on WeakSet gives <item unknown>
console.log
将 WeakSet 显示为<items unknown>
?[13:37:11] [~] node
Welcome to Node.js v14.4.0.
Type ".help" for more information.
> let student1 = { name: 'James', age: 26 };
undefined
> let student2 = { name: 'Julia', age: 27 };
undefined
> const roster = new WeakSet([student1, student2]);
undefined
> console.log(roster);
WeakSet { <items unknown> }
undefined
上下文:我在 ES6 中的WeakSet上遇到了以下示例。
let student1 = { name: 'James', age: 26 };
let student2 = { name: 'Julia', age: 27 };
const roster = new WeakSet([student1, student2]);
console.log(roster);
该示例表明它应该打印
WeakSet {Object {name: 'Julia', age: 27}, Object {name: 'Richard', age: 31}}
但在节点 v14.4.0 中,它会打印
WeakSet { <items unknown> }
node-js 团队认为很难正确实现它。 这是问题: https://github.com/nodejs/node/issues/19001
所以这意味着 WeakSet 可以正常工作但 console.log 将始终 output 为空的 WeakSet
如果您仍想检查 WeakMap,您可以使用 utils inspect 来做到这一点:
const { inspect } = require('util');
let student1 = { name: 'James', age: 26 };
let student2 = { name: 'Julia', age: 27 };
const weakSet = new WeakSet([student1, student2]);
console.log(inspect(weakSet, { showHidden: true }));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.