保存包含单引号和双引号的字符串?

时间:2018-02-28 19:18:36

标签: javascript ecmascript-6

我有一个如下所示的对象:

obj = {book: `{title: "${this.book.title}"}`}

this.book.title是一个字符串,可以包含未转义的单引号或双引号。

因此,如果标题中包含“This is a "book"”,那么obj将无效,因为它看起来像:

obj = {book: `{title: "This is a "book""}`}

有没有比做this.book.title = this.book.title.replace(/(['"])/g, "\\$1");更好的方法来逃避引号?

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,但看起来你想要的是这个:

this.book = { title: 'This is a "book"' };

const obj = { book: JSON.stringify({ title: this.book.title }) };

console.log(obj); // <- this is an object
console.log(obj.book); // <- this is a string

相关问题