- assert断言
- async_hooks异步钩子
- buffer缓冲区
- C++插件
- C/C++插件(使用Node-API)
- C++嵌入器
- child_process子进程
- cluster集群
- CLI命令行
- console控制台
- Corepack核心包
- crypto加密
- debugger调试器
- deprecation弃用
- dgram数据报
- diagnostics_channel诊断通道
- dns域名服务器
- domain域
- Error错误
- events事件触发器
- fs文件系统
- global全局变量
- http超文本传输协议
- http2超文本传输协议2.0
- https安全超文本传输协议
- inspector检查器
- Intl国际化
- module模块
- module/cjsCommonJS模块
- module/esmECMAScript模块
- module/package包模块
- net网络
- os操作系统
- path路径
- perf_hooks性能钩子
- policy安全策略
- process进程
- punycode域名代码
- querystring查询字符串
- readline逐行读取
- repl交互式解释器
- report诊断报告
- stream流
- string_decoder字符串解码器
- timers定时器
- tls安全传输层
- trace_events跟踪事件
- tty终端
- url网址
- util实用工具
- v8引擎
- vm虚拟机
- wasi网络汇编系统接口
- worker_threads工作线程
- zlib压缩
Node.js v14.20.0 中文文档
- Node.js 14.20.0
- 
      
        ►
        目录
      
      - console 控制台
- Console类- new Console(stdout[, stderr][, ignoreErrors])
- new Console(options)
- console.assert(value[, ...message])
- console.clear()
- console.count([label])
- console.countReset([label])
- console.debug(data[, ...args])
- console.dir(obj[, options])
- console.dirxml(...data)
- console.error([data][, ...args])
- console.group([...label])
- console.groupCollapsed()
- console.groupEnd()
- console.info([data][, ...args])
- console.log([data][, ...args])
- console.table(tabularData[, properties])
- console.time([label])
- console.timeEnd([label])
- console.timeLog([label][, ...data])
- console.trace([message][, ...args])
- console.warn([data][, ...args])
 
- 仅用于检查器的方法
 
 
- console 控制台
- 
      
        ►
        索引
      
      
 - assert 断言
- async_hooks 异步钩子
- buffer 缓冲区
- C++插件
- C/C++插件(使用Node-API)
- C++嵌入器
- child_process 子进程
- cluster 集群
- CLI 命令行
- console 控制台
- Corepack 核心包
- crypto 加密
- debugger 调试器
- deprecation 弃用
- dgram 数据报
- diagnostics_channel 诊断通道
- dns 域名服务器
- domain 域
- Error 错误
- events 事件触发器
- fs 文件系统
- global 全局变量
- http 超文本传输协议
- http2 超文本传输协议2.0
- https 安全超文本传输协议
- inspector 检查器
- Intl 国际化
- module 模块
- module/cjs CommonJS模块
- module/esm ECMAScript模块
- module/package 包模块
- net 网络
- os 操作系统
- path 路径
- perf_hooks 性能钩子
- policy 安全策略
- process 进程
- punycode 域名代码
- querystring 查询字符串
- readline 逐行读取
- repl 交互式解释器
- report 诊断报告
- stream 流
- string_decoder 字符串解码器
- timers 定时器
- tls 安全传输层
- trace_events 跟踪事件
- tty 终端
- url 网址
- util 实用工具
- v8 引擎
- vm 虚拟机
- wasi 网络汇编系统接口
- worker_threads 工作线程
- zlib 压缩
 
- ► 其他版本
- 搜索
目录
- console 控制台
- Console类- new Console(stdout[, stderr][, ignoreErrors])
- new Console(options)
- console.assert(value[, ...message])
- console.clear()
- console.count([label])
- console.countReset([label])
- console.debug(data[, ...args])
- console.dir(obj[, options])
- console.dirxml(...data)
- console.error([data][, ...args])
- console.group([...label])
- console.groupCollapsed()
- console.groupEnd()
- console.info([data][, ...args])
- console.log([data][, ...args])
- console.table(tabularData[, properties])
- console.time([label])
- console.timeEnd([label])
- console.timeLog([label][, ...data])
- console.trace([message][, ...args])
- console.warn([data][, ...args])
 
- 仅用于检查器的方法
 
console 控制台#
源代码: lib/console.js
console 模块提供了一个简单的调试控制台,类似于网络浏览器提供的 JavaScript 控制台机制。
该模块导出两个特定组件:
- Console类,具有- console.log()、- console.error()和- console.warn()等方法,可用于写入任何 Node.js 流。
- 全局的 console实例,配置为写入process.stdout和process.stderr。 全局的console无需调用require('console')就可以使用。
警告:全局的控制台对象的方法既不像与其相似的浏览器 API 那样始终同步,也不像所有其他 Node.js 流那样始终异步。 有关更多信息,请参阅进程 I/O 的注意事项。
使用全局的 console 的示例:
console.log('hello world');
// 打印: hello world 到标准输出
console.log('hello %s', 'world');
// 打印: hello world 到标准输出
console.error(new Error('Whoops, something bad happened'));
// 打印错误消息和堆栈跟踪到标准错误:
//   Error: Whoops, something bad happened
//     at [eval]:5:15
//     at Script.runInThisContext (node:vm:132:18)
//     at Object.runInThisContext (node:vm:309:38)
//     at node:internal/process/execution:77:19
//     at [eval]-wrapper:6:22
//     at evalScript (node:internal/process/execution:76:60)
//     at node:internal/main/eval_string:23:3
const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// 打印: Danger Will Robinson! Danger! 到标准错误使用 Console 类的示例:
const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);
myConsole.log('hello world');
// 打印: hello world 到输出
myConsole.log('hello %s', 'world');
// 打印: hello world 到输出
myConsole.error(new Error('Whoops, something bad happened'));
// 打印: [Error: Whoops, something bad happened] 到错误
const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// 打印: Danger Will Robinson! Danger! 到错误Console 类#
Console 类可用于创建具有可配置输出流的简单记录器,并可使用 require('console').Console 或 console.Console(或它们的解构对应物)访问:
const { Console } = require('console');const { Console } = console;new Console(stdout[, stderr][, ignoreErrors])#
new Console(options)#
- options<Object>- stdout<stream.Writable>
- stderr<stream.Writable>
- ignoreErrors<boolean> 写入底层流时忽略错误。 默认值:- true。
- colorMode<boolean> | <string> 为此- Console实例设置颜色支持。 设置为- true可在检查值时进行着色。 设置为- false会在检查值时禁用着色。 设置为- 'auto'使颜色支持取决于- isTTY属性的值和- getColorDepth()在相应流上返回的值。 如果同时设置了- inspectOptions.colors,则无法使用此选项。 默认值:- 'auto'。
- inspectOptions<Object> 指定传给- util.inspect()的选项。
- groupIndentation<number> 设置组缩进。 默认值:- 2。
 
使用一个或两个可写流实例创建新的 Console。
stdout 是用于打印日志或信息输出的可写流。
stderr 用于警告或错误输出。
如果未提供 stderr,则 stdout 用于 stderr。
const output = fs.createWriteStream('./stdout.log');
const errorOutput = fs.createWriteStream('./stderr.log');
// 自定义的简单记录器
const logger = new Console({ stdout: output, stderr: errorOutput });
// 像控制台一样使用它
const count = 5;
logger.log('count: %d', count);
// 在 stdout.log 中:count 5全局的 console 是特殊的 Console,它的输出被发送到 process.stdout 和 process.stderr。
它相当于调用:
new Console({ stdout: process.stdout, stderr: process.stderr });console.assert(value[, ...message])#
如果 value 为假值或省略,则 console.assert() 写入一条消息。
它只写入一条消息,不会影响执行。
输出始终以 "Assertion failed" 开头。
如果提供,则使用 util.format() 格式化 message。
如果 value 为真值,则什么也不会发生。
console.assert(true, 'does nothing');
console.assert(false, 'Whoops %s work', 'didn\'t');
// Assertion failed: Whoops didn't work
console.assert();
// Assertion failedconsole.clear()#
当 stdout 是终端时,调用 console.clear() 将尝试清除终端。
当 stdout 不是终端时,此方法不执行任何操作。
console.clear() 的具体操作可能因操作系统和终端类型而异。
对于大多数 Linux 操作系统,console.clear() 的操作类似于 clear shell 命令。
在 Windows 上,console.clear() 将仅清除 Node.js 二进制文件的当前终端视口中的输出。
console.count([label])#
- label<string> 计数器的显示标签。 默认值:- 'default'。
维护一个特定于 label 的内部计数器,并向 stdout 输出使用给定 label 调用 console.count() 的次数。
> console.count()
default: 1
undefined
> console.count('default')
default: 2
undefined
> console.count('abc')
abc: 1
undefined
> console.count('xyz')
xyz: 1
undefined
> console.count('abc')
abc: 2
undefined
> console.count()
default: 3
undefined
>console.countReset([label])#
- label<string> 计数器的显示标签。 默认值:- 'default'。
重置特定于 label 的内部计数器。
> console.count('abc');
abc: 1
undefined
> console.countReset('abc');
undefined
> console.count('abc');
abc: 1
undefined
>console.debug(data[, ...args])#
console.debug() 函数是 console.log() 的别名。
console.dir(obj[, options])#
- obj<any>
- options<Object>- showHidden<boolean> 如果为- true,则对象的不可枚举和符号属性也将显示。 默认值:- false。
- depth<number> 告诉- util.inspect()在格式化对象时递归多少次。 这对于检查大型复杂对象很有用。 要使其无限递归,则传入- null。 默认值:- 2。
- colors<boolean> 如果为- true,则输出将使用 ANSI 颜色代码进行样式设置。 颜色可自定义;请参阅自定义- util.inspect()颜色。 默认值:- false。
 
在 obj 上使用 util.inspect() 并将结果字符串打印到 stdout。
此函数绕过在 obj 上定义的任何自定义 inspect() 函数。
console.dirxml(...data)#
- ...data<any>
此方法调用 console.log() 将接收到的参数传给它。
此方法不会产生任何 XML 格式。
console.error([data][, ...args])#
使用换行符打印到 stderr。
可以传入多个参数,其中第一个用作主要消息,所有其他参数用作类似于 printf(3) 的替换值(所有参数都传给 util.format())。
const code = 5;
console.error('error #%d', code);
// 打印: error #5 到标准错误
console.error('error', code);
// 打印: error 5 到标准错误如果在第一个字符串中找不到格式化元素(例如 %d),则在每个参数上调用 util.inspect() 并将结果字符串值连接起来。
有关详细信息,请参阅 util.format()。
console.group([...label])#
- ...label<any>
将后续行的缩进增加 groupIndentation 长度的空格。
如果提供了一个或多个 label,则首先打印这些 label,没有额外的缩进。
console.groupCollapsed()#
console.group() 的别名。
console.groupEnd()#
将后续行的缩进减少 groupIndentation 长度的空格。
console.info([data][, ...args])#
console.info() 函数是 console.log() 的别名。
console.log([data][, ...args])#
使用换行符打印到 stdout。
可以传入多个参数,其中第一个用作主要消息,所有其他参数用作类似于 printf(3) 的替换值(所有参数都传给 util.format())。
const count = 5;
console.log('count: %d', count);
// 打印: count: 5 到标准输出
console.log('count:', count);
// 打印: count: 5 到标准输出有关详细信息,请参阅 util.format()。
console.table(tabularData[, properties])#
- tabularData<any>
- properties<string[]> 用于构造表格的替代属性。
尝试用 tabularData 的属性的列(或使用 properties)和 tabularData 的行构建表格并记录它。
如果无法将其解析为表格,则回退到仅记录参数。
// 这些无法解析为表格数据
console.table(Symbol());
// Symbol()
console.table(undefined);
// undefined
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
// ┌─────────┬─────┬─────┐
// │ (index) │  a  │  b  │
// ├─────────┼─────┼─────┤
// │    0    │  1  │ 'Y' │
// │    1    │ 'Z' │  2  │
// └─────────┴─────┴─────┘
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
// ┌─────────┬─────┐
// │ (index) │  a  │
// ├─────────┼─────┤
// │    0    │  1  │
// │    1    │ 'Z' │
// └─────────┴─────┘console.time([label])#
- label<string> 默认值:- 'default'
启动可用于计算操作持续时间的计时器。
计时器由唯一的 label 标识。
调用 console.timeEnd() 时使用相同的 label 停止计时器并将经过的时间以合适的时间单位输出到 stdout。
例如,如果经过的时间是 3869 毫秒,则 console.timeEnd() 显示“3.869s”。
console.timeEnd([label])#
- label<string> 默认值:- 'default'
停止之前通过调用 console.time() 启动的计时器并将结果打印到 stdout:
console.time('100-elements');
for (let i = 0; i < 100; i++) {}
console.timeEnd('100-elements');
// 打印 100-elements: 225.438msconsole.timeLog([label][, ...data])#
对于先前通过调用 console.time() 启动的计时器,将经过时间和其他 data 参数打印到 stdout:
console.time('process');
const value = expensiveProcess1(); // 返回 42
console.timeLog('process', value);
// 打印 "process: 365.227ms 42"
doExpensiveProcess2(value);
console.timeEnd('process');console.trace([message][, ...args])#
将字符串 'Trace: ' 打印到 stderr,然后是 util.format() 格式的消息和到代码中当前位置的堆栈跟踪。
console.trace('Show me');
// 打印: ((堆栈跟踪将根据调用跟踪的位置而有所不同))
//  Trace: Show me
//    at repl:2:9
//    at REPLServer.defaultEval (repl.js:248:27)
//    at bound (domain.js:287:14)
//    at REPLServer.runBound [as eval] (domain.js:300: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)console.warn([data][, ...args])#
console.warn() 函数是 console.error() 的别名。
仅用于检查器的方法#
以下方法由 V8 引擎在通用 API 中公开,但不显示任何内容,除非与检查器结合使用(--inspect 标志)。
console.profile([label])#
- label<string>
除非在检查器中使用,否则此方法不会显示任何内容。
console.profile() 方法启动带有可选标签的 JavaScript CPU 配置文件,直到调用 console.profileEnd()。
然后将配置文件添加到检查器的配置文件面板中。
console.profile('MyLabel');
// 一些代码
console.profileEnd('MyLabel');
// 将配置文件“MyLabel”添加到检查器的配置文件面板。console.profileEnd([label])#
- label<string>
除非在检查器中使用,否则此方法不会显示任何内容。
如果已启动,则停止当前的 JavaScript CPU 分析会话并将报告打印到检查器的配置文件面板。
有关示例,请参见 console.profile()。
如果在没有标签的情况下调用此方法,则会停止最近启动的配置文件。
console.timeStamp([label])#
- label<string>
除非在检查器中使用,否则此方法不会显示任何内容。
console.timeStamp() 方法将带有标签 'label' 的事件添加到检查器的时间轴面板。