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。
for await (const line of console) {
console.log(line);
}
你可以使用它来编写交互式程序,例如下面的加法计算器。
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