我有一个如下所示的对象:
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");
更好的方法来逃避引号?
答案 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