打印是不属于 JavaScript 语言标准的功能。但是,我们在这里进行的所有操作,浏览器和 Node.js 都是支持的。打印意味着“在控制台上显示内容”,其中“控制台”是浏览器控制台或运行 Node.js 的终端。
完整的console.*
API 在 MDN 的网页 以及 Node.js 官网都有相关文档。接下来我们将快速浏览以下两个操作:
console.log()
console.error()
5.1. 打印值:console.log()
(标准输出)
此操作有两种形式:
console.log(...values: any[]): void
console.log(pattern: string, ...values: any[]): void
5.1.1. 打印多个值
第一中形式在控制台上打印(文本)值:
console.log('abc', 123, true);
// Output:
// abc 123 true
console.log()
始终在末尾打印换行符。因此,如果你直接调用而不加任何参数,它只会打印一个换行符。
5.1.2. 打印替换的字符串
第二种形式可以进行替换字符串:
console.log('Test: %s %j', 123, 'abc');
// Output:
// Test: 123 "abc"
你可以用于替换的一些指令:
%s
将相应的值转换为字符串输出。console.log('%s %s', 'abc', 123); // Output: // abc 123
%o
将被替换的对象转为字符串形式输出。console.log('%o', {foo: 123, bar: 'abc'}); // Output: // { foo: 123, bar: 'abc' }
%j
将被替换的值转换为 JSON 字符串输出。console.log('%j', {foo: 123, bar: 'abc'}); // Output: // {"foo":123,"bar":"abc"}
%%
插入一个%
。console.log('%s%%', 99); // Output: // 99%
5.2. 打印错误信息:console.error()
(标准错误)
console.error()
与console.log()
的作用相同,但它的日志内容被视为错误信息。对于 Node.js,这意味着在 Unix 上输出的是 stderr(标准错误) 而不是 stdout(标准输出)。
5.3. 通过JSON.stringify()
打印嵌套对象
JSON.stringify()
偶尔用于打印嵌套对象:
console.log(JSON.stringify({first: 'Jane', last: 'Doe'}, null, 2));
输出:
{
"first": "Jane",
"last": "Doe"
}