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

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

process.stdout.write
控制台日志
It continuously prints information as retrieved from the stream without adding any new line.
它首先打印正在检索的信息,然后添加一个新行。然后它将去检索要打印的第二组语句。
The process.stdout.write method takes only string as paramter. Other datatypes passed will result in a type error.
它可以采用任何类型的输入参数。
We will get a weird characted if we don't put the breakline at the end.
我们在这里不需要任何换行,因为文本已经格式化,字符也会自行消失。
It is used for printing patterns, since it does not adds a new line.
当我们在打印语句后需要换行时使用它。
It cannot be used to print multiple strings at a time.
For example, process.stdout.write("Hello", "World"); will throw a type error as it is not a string anymore.
我们可以使用这种方法编写多个字符串。例如, console.log("Hello", "World"); 将在控制台中打印 Hello World。
This method cannot associate two string types. For example,
process.stdout.write("Hello %s", "All"); will throw a type error/
此方法可用于建立关联。
例如, console.log("Hello %s", "All"); 将在控制台上打印 Hello All。

process.stdout.write

示例 1

<script>
   // 对于 process.stdout
   process.stdout.write("Hello");
   process.stdout.write("World");
   process.stdout.write("!!!");
</script>
输出结果
HelloWorld!!!
console.log

示例 2

<script>
   // 对于 process.stdout
   console.log("Hello");
   console("World");
   console.log("!!!");
</script>
输出结果
Hello
World
!!!