首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6: console.log on WeakSet给出<item unknown>

ES6: console.log on WeakSet给出<item unknown>
EN

Stack Overflow用户
提问于 2020-06-21 17:38:59
回答 1查看 601关注 0票数 2

为什么console.log将WeakSet显示为<items unknown>

代码语言:javascript
复制
[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

上下文:我在WeakSet的ES6中遇到了下面的例子。

代码语言:javascript
复制
let student1 = { name: 'James', age: 26 };
let student2 = { name: 'Julia', age: 27 };
const roster = new WeakSet([student1, student2]);
console.log(roster);

这个例子表明它应该打印

代码语言:javascript
复制
WeakSet {Object {name: 'Julia', age: 27}, Object {name: 'Richard', age: 31}}

但在节点v14.4.0中,它会打印

代码语言:javascript
复制
WeakSet { <items unknown> }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-21 18:03:44

节点-js团队决定很难正确地实现这一点。下面是问题:https://github.com/nodejs/node/issues/19001

这意味着WeakSet工作正常,但是console.log总是输出一个空的WeakSet

如果还想检查WeakMap,可以使用utils检查:

代码语言:javascript
复制
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 }));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62502224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档