以字符串形式内化字符串文字

Internalize a String Literal in String Form

假设我有 String 文字的 String 表示(带有转义字符和所有字符);写成文字本身,它可能看起来像:

'\'Hello,\tI'm tabbed over!\n\''

如何将其内部化为 String,等同于 String 形式的文字表示的 String;也就是说,相当于我输入

时得到的结果
'Hello,\tI'm tabbed over!\n'

进入程序?

我知道我可以只使用 eval(),但这似乎是一个糟糕的解决方案。我可以使用 eval() 将字符串形式的数字文字转换为实际数字,但已经有像 Number.parseInt() 这样的函数用于此目的。 Strings 有这样的吗?

试试这个:

var toConvert = "\'Hello,\tI'm tabbed over!\n\'";
var str = (new RegExp(toConvert)).toString().replace(/^\/|\/$/g,'');
console.log(str) // 'Hello,\tI'm tabbed over!\n'

更新

有一个更简单的解决方案:

"'\'Hello,\tI'm tabbed over!\n\'".toString()