javascript - 我在 graphql/graphql-js repo 中找到了一个 `Object.prototype.inspect` 代码片段,在什么情况下会调用它?
问题描述
最近在graphql/graphql-js找到一个代码片段,google了一阵子,没找到有用的解释,是不是有什么特殊的包会调用呢?
代码片段自爆:
--------- 更新问题 ---------
这是在 Objects 上实现自定义检查功能的一种已弃用的方式,相关描述已从 Node.js 的最新文档中删除,我们可以在以前的文档中找到它这里或最新文档中的弃用 API 部分。
解决方案
这是一种提供自定义实现的方法,如文档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!
推荐阅读
- php - 检查登录用户的帐户是否仍然匹配或存在于数据库中的最佳解决方案是什么?
- bash - jq 创建数组并将条目附加到它
- powershell - 使用 powershell 对 Microsoft Graph api 进行身份验证
- javascript - 自定义浏览器的默认表单错误
- json - 将 FOR 循环的 $i 添加到 JSON 键值中
- sdk - 在旧电视设备上测试三星智能电视应用程序 (2011)
- recaptcha - Google reCAPTCHA v2 拒绝加载脚本
- javascript - 异步 JS 调用打印正常,但给出“未定义”错误
- swift - UIView 子类 (Swift4) - 自定义方法 (setNumber) 未按预期工作
- caffe - 在 Caffe 中对图像进行下采样