首页 > 解决方案 > 我在 graphql/graphql-js repo 中找到了一个 `Object.prototype.inspect` 代码片段,在什么情况下会调用它?

问题描述

最近在graphql/graphql-js找到一个代码片段,google了一阵子,没找到有用的解释,是不是有什么特殊的包会调用呢?

代码片段自爆:

在此处输入图像描述

--------- 更新问题 ---------

这是在 Objects 上实现自定义检查功能的一种已弃用的方式,相关描述已从 Node.js 的最新文档中删除,我们可以在以前的文档中找到它这里或最新文档中的弃用 API 部分

标签: javascriptnode.jsgraphql

解决方案


这是一种提供自定义实现的方法,如文档util.inspect中所示。文档中没有真正明确的是,这也会影响行为方式:console.log

class Foo {}
Foo.prototype.inspect = () => 'FOO!'
console.log(new Foo()) // prints FOO!

但是,此方法已被弃用,取而代之的是使用符号:

const { inspect } = require('util')
class Foo {}
Foo.prototype[inspect.custom] = () => 'FOO!'
console.log(new Foo()) // prints FOO!

推荐阅读