如何在 Node.js 中打印字符串的文字表示?
How to print literal representation of a string in Node.js?
在我的程序中有一个 REPL 循环,偶尔需要将给定字符串变量的字符串表示形式打印到控制台。
例如,假设我们在程序的某处定义了一个字符串变量 str:
var str = "two\nlines";
我想要一个打印函数(例如,调用它 printRepr),将 str:
的字符串表示形式打印到控制台
> printRepr(str);
"two\nlines"
我在文档中找不到这样的函数。有没有一种简单的方法可以实现这种行为?
注意:我知道 Node.js REPL 有这种行为,但我需要一个函数,我将在我的程序中使用它来打印任何字符串的文字表示。当然,我不能使用 console.log() 因为那样的话我会得到这个:
> console.log(str);
two
lines
您可以使用util.inspect
const util = require('util');
const str = "two\nlines";
console.log(util.inspect(str));
或者使用String.raw or JSON.stringify(取决于您的需要)
这也适用于浏览器
console.log(String.raw`two\nlines`);
const str = `two\nlines`;
console.log(JSON.stringify(str))
在我的程序中有一个 REPL 循环,偶尔需要将给定字符串变量的字符串表示形式打印到控制台。 例如,假设我们在程序的某处定义了一个字符串变量 str:
var str = "two\nlines";
我想要一个打印函数(例如,调用它 printRepr),将 str:
的字符串表示形式打印到控制台> printRepr(str);
"two\nlines"
我在文档中找不到这样的函数。有没有一种简单的方法可以实现这种行为?
注意:我知道 Node.js REPL 有这种行为,但我需要一个函数,我将在我的程序中使用它来打印任何字符串的文字表示。当然,我不能使用 console.log() 因为那样的话我会得到这个:
> console.log(str);
two
lines
您可以使用util.inspect
const util = require('util');
const str = "two\nlines";
console.log(util.inspect(str));
或者使用String.raw or JSON.stringify(取决于您的需要)
这也适用于浏览器
console.log(String.raw`two\nlines`);
const str = `two\nlines`;
console.log(JSON.stringify(str))