nodejs 中的 process.stdout.write

今天看了一个 npm 包的源码,里面用到了 process.stdout.write 这个 API 。咋一看感觉跟 Java 的 System.out.print 有点类似,但是 JS 打印的语句难道不是 console.log 么?于是查了下,发现 console.log 原来底层就是基于 process.stdout.write 实现的:

Console.prototype.log = function() {
  this._stdout.write(util.format.apply(this, arguments) + '\n');
};

这边有两个注意点:

1. process.stdout.write 函数只接受字符串,如果传别的类型就会报错。而 console.log 可以接收任意类型,因为在输出前经过了 format 函数格式化;

可以参考 Node.js 官方文档:http://nodejs.cn/api/util.html#util_util_format_format_args

2. process.stdout.write 函数默认不会换行,而 console.log 函数因为在最后拼接了一个换行符 \n ,导致每次输出都会换行;

在 npm 包源码中,因为不希望每次都换行,而是在一行内输出,因此用了 process.stdout.write

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值