什么决定了变量在控制台中的打印方式?

时间:2017-01-18 16:51:06

标签: javascript read-eval-print-loop

在Chrome DevTools中,已解决的承诺将返回一个可以展开和折叠的交互式对象,就像这样;

> Promise.resolve('foo')
< ▶ Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "foo"}

在Node中,已解析的promise将返回一个字符串;

> Promise.resolve('foo')
< Promise { 'x' }

在可视化变量时,确定返回控制台的内容和人员是什么?这是标准化的吗?

1 个答案:

答案 0 :(得分:1)

因此,您可以设置控制台日志的格式,以下是基础知识https://developer.mozilla.org/en-US/docs/Web/API/Console/log

你也可以做颜色等,这里讨论:

How do I create formatted javascript console log messages

同样从您的示例中,可能会返回两个完全不同的Promises(librabies)。你在运行什么版本的Node?

每个浏览器也以不同方式实现控制台,因此您不会在浏览器之间或从Chrome到节点获得相同的响应。有一些节点库可以让你添加到你的控制台(格式化等),但我不认为有任何使它成为交互式的(因为你必须使ui交互,这对于浏览器是真的,但不是为了输出终端)