这个Javascript符号{e=>e}表示什么/可以表示什么?

在对 pdf-lib 问题进行故障排除时,我看到了这个,对我来说不熟悉的符号:

{ e => e }
  • 在下面的屏幕截图中,我看到我认为是名为“catalog”的对象的名为“dict”的属性。属性“dict”是地图数据结构。

  • 双括号 [[Entries]] 符号是我认为表示 javascript 内部属性的符号,并且我认为可以将其理解为类似于该map.entries()方法。因此,我希望我在下面看到的是映射条目的输出,即映射的密钥对值。

  • 现在,这就是事情对我来说变得模糊的地方。这张地图的键似乎是数值 0-5,它的值是前面提到的{ e => e}。大括号让人联想到对象和函数,里面似乎有一个箭头函数……?

截屏:

回答

这个 Javascript 符号 { e => e } 表示什么/可以表示什么?

在该上下文中,它不是 JavaScript 符号(例如,语法)。¹ 控制台中对象的显示不是 JavaScript 语法,尽管它通常与其密切相关。那{e => e}(以及{e => t}后来)只是 Chrome 的控制台向您显示一个Map条目的方式,其中键是一个对象,其构造函数是e,其值是一个对象,其构造函数也是e(或t在这种{ e => t }情况下)。

您可以在此处看到(在 Chrome 或其他使用类似显示的设备中):

class e {
}
const m = new Map();
m.set(new e(), new e());
console.log(m);
Look in the real JavaScript console.

真正的代码大概使用了比eand更有意义的构造函数名称t,但已被缩小。


¹ 如果{ e => e}出现在 JavaScript 代码中需要声明的地方,它将是一个包含永远无法调用的箭头函数的块;如果它出现在需要表达式而不是语句的地方,那就是语法错误。


以上是这个Javascript符号{e=>e}表示什么/可以表示什么?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>