[Circular *1] 是什么意思VS Code

问题描述

在 vscode 显示中具有循环引用的对象的控制台.log 包含以下代码段:“[Symbol(network)]: [Circular *1]”。 我明白为什么它是循环的,我想确切的格式是特定于 VS Code 的,但无论哪种方式,我都想了解更多信息 - 例如“*1”的含义。

当我谷歌“[Circular *1]”时,真的很惊讶什么都没出现。怎么回事?

解决方法

它是一个数字,表明它引用的是哪个对象:

const { inspect } = require('util');

const obj = {};
obj.a = [obj];
obj.b = {};
obj.b.inner = obj.b;
obj.b.obj = obj;

console.log(inspect(obj));
// <ref *1> {
//   a: [ [Circular *1] ],//   b: <ref *2> { inner: [Circular *2],obj: [Circular *1] }
// }

查看每个对象如何具有反映 <ref *n>[Circular *n]