+
Bun

Console

Note — Bun provides a browser- and Node.js-compatible console global. This page only documents Bun-native APIs.

Object inspection depth

Bun allows you to configure how deeply nested objects are displayed in console.log() output:

  • CLI flag: Use --console-depth <number> to set the depth for a single run
  • Configuration: Set console.depth in your bunfig.toml for persistent configuration
  • Default: Objects are inspected to a depth of 2 levels
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// Default (depth 2): { a: { b: [Object] } }
// With depth 4: { a: { b: { c: { d: 'deep' } } } }

The CLI flag takes precedence over the configuration file setting.

Reading from stdin

In Bun, the console object can be used as an AsyncIterable to sequentially read lines from process.stdin.

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

This is useful for implementing interactive programs, like the following addition calculator.

adder.ts
console.log(`Let's add some numbers!`);
console.write(`Count: 0\n> `);

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

To run the file:

bun adder.ts
Let's add some numbers!
Count: 0
5
Count: 5
5
Count: 10
5
Count: 15
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载