问题描述
在我的程序中有一个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或JSON.stringify
这也将在浏览器中工作
console.log(String.raw`two\nlines`);
const str = `two\nlines`;
console.log(JSON.stringify(str))