等同于 Deno 中的 `util.inspect`

Equivalent of `util.inspect` in Deno

Deno 是否具有将对象或原语转储为字符串的实用函数,例如 Node.js util.inspect

例如,在 Node.js 中,我创建了一个 json 对象,并希望将其内容转储到节点中:

> m = {k1:'v1', k2:'v2'}
{ k1: 'v1', k2: 'v2' }
> util.inspect(m)
'{ k1: \'v1\', k2: \'v2\' }'

Deno 相当于 Node 的 util.inspectDeno.inspect

例如在 deno REPL 中:

> m = {k1:'v1', k2:'v2'}
{ k1: "v1", k2: "v2" }
> Deno.inspect(m)
{ k1: "v1", k2: "v2" }

此外,如果您想覆盖 return 您自己的 Deno.inspect 结果,您可以向 类 添加一个 Deno.customInspect 方法,如下所示:

class someClass {
    // code ...

    [Deno.customInspect]() {
        return 'any ol string';
    }

}

这是 Deno.inspectDeno.customInspect

documentation

一般使用Deno.inspect(someObject).

如果您想为特定的 class 自定义 Deno.inspect 的字符串表示形式,从 Deno 1.19 开始,您应该实现如下内容:

class MyClass {

  // …

  [Symbol.for("Deno.customInspect")]() {
    return "custom string representation;
  }

  // …
}

使用console.log(someObject)显示的对象也会受此影响。

可以找到文档 here

请注意,@Lukalot 显示的版本自 Deno 1.19 以来已被弃用,因此可能会在未来的版本中停止工作。