📅  最后修改于: 2023-12-03 15:03:14.983000             🧑  作者: Mango
在 Node.js 中, process.stdout.write() 和 console.log() 都可以用来向标准输出流(stdout)输出信息。它们的使用方式和返回结果略有不同,本文将介绍它们之间的区别。
process.stdout.write() 是 Node.js 内置模块 process 的一个方法,它可以用来向标准输出流输出信息。该方法的返回值是 Boolean 类型,表示信息是否成功输出。
// 输出 Hello World 到标准输出流
process.stdout.write('Hello World');
// 输出结果:Hello World
值得注意的是,process.stdout.write() 方法只能接收字符串类型的参数,如果需要输出 JSON 对象或其他类型的数据,需要将其转换成字符串类型。
const data = { name: '张三', age: 18 };
// 转换 JSON 对象为字符串类型
const json = JSON.stringify(data);
// 输出 JSON 字符串到标准输出流
process.stdout.write(json);
// 输出结果:{"name":"张三","age":18}
console.log() 是 Node.js 内置模块 console 的一个方法,它也可以用来向标准输出流输出信息。与 process.stdout.write() 不同的是,console.log() 可以接收多个参数,不限于字符串类型。该方法的返回值是 undefined。
// 输出字符串到标准输出流
console.log('Hello', 'World');
// 输出结果:Hello World
// 输出 JSON 对象到标准输出流
console.log({ name: '张三', age: 18 });
// 输出结果:{ name: '张三', age: 18 }
console.log() 方法可以接收占位符参数,将一组参数格式化为字符串后输出。占位符参数以 % 开头,后面的字符表示不同类型的数据,例如 %d 表示数字,%s 表示字符串,%j 表示 JSON 等等。
const name = '张三';
const age = 18;
// 输出格式化后的字符串到标准输出流
console.log('%s 的年龄是 %d 岁', name, age);
// 输出结果:张三 的年龄是 18 岁
在 Node.js 中, process.stdout.write() 和 console.log() 都可以用来向标准输出流输出信息。两者间的不同之处在于使用方式和返回值的类型。process.stdout.write() 更适用于输出字符串类型的信息,而console.log() 更适用于输出多个参数或需要格式化输出的信息。