Skip to content

NOTE

Bun はブラウザおよび Node.js 互換の [console](https://developer.mozilla.org/en-US/docs/Web/API/console) グローバルを提供します。このページでは Bun 固有の API のみを文書化しています。

オブジェクト検査の深さ

Bun では、console.log() 出力でオブジェクトがどの程度深くネストされて表示されるかを設定できます。

  • CLI フラグ: --console-depth <number> を使用して、1 回の実行に対する深さを設定します
  • 設定: bunfig.tomlconsole.depth を設定して永続的な構成を行います
  • デフォルト: オブジェクトはデフォルトで 2 レベルの深さまで検査されます
js
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// デフォルト(深さ 2): { a: { b: [Object] } }
// 深さ 4: { a: { b: { c: { d: 'deep' } } } }

CLI フラグは設定ファイルの設定より優先されます。


stdin からの読み取り

Bun では、console オブジェクトを AsyncIterable として使用して、process.stdin から行を順次読み取ることができます。

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

これは、以下の加算計算機のようなインタラクティブなプログラムを実装するのに役立ちます。

ts
console.log(`数字を足しましょう!`);
console.write(`合計:0\n> `);

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

ファイルを実行するには:

bash
bun adder.ts
数字を足しましょう!
合計:0
> 5
合計:5
> 5
合計:10
> 5
合計:15

Bun by www.bunjs.com.cn 編集