NodeJS中console.log和process.stdout.write的区别


两种方法——**console.log** 和 **process.stdout.write**——都具有在控制台上写入或打印语句的基本定义。但是,它们执行这些任务的方式略有不同。在内部,**console.log** 实现 **process.stdout.write**,后者本身是一个缓冲流,用于直接在控制台上打印语句。

process.stdout.write
console.log
它持续打印从流中检索到的信息,不添加任何换行符。
它首先打印正在检索的信息,然后添加一个换行符。然后它将继续检索第二组要打印的语句。
process.stdout.write方法只接受字符串作为参数。传递其他数据类型将导致类型错误。
它可以接受任何类型的输入参数。
如果我们不添加换行符,我们将得到一个奇怪的字符。
这里不需要换行符,因为文本已格式化,字符也会自动消失。
它用于打印图案,因为它不添加换行符。
当我们需要在打印语句后换行时使用它。
它不能一次打印多个字符串。
例如,process.stdout.write("Hello", "World"); 将抛出类型错误,因为它不再是字符串。
我们可以使用此方法编写多个字符串。例如,console.log("Hello", "World"); 将在控制台中打印 Hello World。
此方法无法关联两个字符串类型。例如:
process.stdout.write("Hello %s", "All"); 将抛出类型错误。
此方法可用于进行关联。
例如,console.log("Hello %s", "All"); 将在控制台中打印 Hello All。

process.stdout.write

示例 1

<script>
   // For process.stdout
   process.stdout.write("Hello");
   process.stdout.write("World");
   process.stdout.write("!!!");
</script>

输出

HelloWorld!!!
console.log

示例 2

<script>
   // For process.stdout
   console.log("Hello");
   console("World");
   console.log("!!!");
</script>

输出

Hello
World
!!!

更新于: 2021年4月27日

1K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告