如何在Node.js控制台中发现Object API?

时间:2016-05-10 17:14:44

标签: javascript node.js

Canary开发人员工具提供了诸如console.tableconsole.dir等强大功能,可提供有关对象上可用的各种功能和属性的详细信息。

我想知道Node.js REPL中是否存在这种情况。我尝试了一些在浏览器开发人员工具中运行良好的组合:

> console.dir(Promise)
[Function: Promise]
undefined
> console.log(Promise)
[Function: Promise]
undefined
> Promise
[Function: Promise]
> console.table(Promise)
TypeError: console.table is not a function
    at repl:1:9
    at REPLServer.defaultEval (repl.js:248:27)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)
    at REPLServer.<anonymous> (repl.js:412:12)
    at emitOne (events.js:82:20)
    at REPLServer.emit (events.js:169:7)
    at REPLServer.Interface._onLine (readline.js:210:10)
    at REPLServer.Interface._line (readline.js:549:8)
    at REPLServer.Interface._ttyWrite (readline.js:826:14)

如何在Node内部获取有关这些功能的更多信息和文档,而无需打开MDN或Node.js文档?

1 个答案:

答案 0 :(得分:2)

所有Promise的属性都是不可枚举的,因此默认情况下会隐藏在Node的日志记录中。您可以使用showHidden option of Node's console.dir来显示它们:

  

showHidden - 如果true,则也会显示对象的不可枚举和符号属性。默认为false

当您运行console.dir(Promise, { showHidden: true })时,您将看到该对象的所有属性。