运行时包管理器打包器测试运行器代码检查格式化指南参考博客反馈

console

Bun 中的 console 对象


对象检查深度

你可以配置 console.log() 打印嵌套对象的深度:

  • 命令行标志:使用 --console-depth <number> 设置单次运行的深度
  • 配置:在 bunfig.toml 中设置 console.depth,使其在多次运行中保持生效
  • 默认值:Bun 检查对象的深度为 2 层
JavaScript
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// 默认(深度 2):{ a: { b: { c: [Object ...] } } }
// 深度为 4 时:{ a: { b: { c: { d: 'deep' } } } }

命令行参数优先于配置文件设置。


从标准输入读取

在 Bun 中,console 对象也是一个 AsyncIterable,可以逐行读取 process.stdin。

adder.ts
for await (const line of console) {
  console.log(line);
}

你可以使用它来编写交互式程序,例如下面的加法计算器。

adder.ts
console.log(`让我们加一些数字吧!`);
console.write(`计数:0\n> `);

let count = 0;
for await (const line of console) {
  count += Number(line);
  console.write(`计数:${count}\n> `);
}

运行该文件:

terminal
bun adder.ts
让我们加一些数字吧!
计数:0
> 5
计数:5
> 5
计数:10
> 5
计数:15