1.我这翻译的是呈现中出错:“TypeError:无法读取未定义的属性(读取'replace')”
代码是这样的 组件公共的方法
export function removeHTMLTag(htmlStr) {
let html = htmlStr
.replace(/<img.*?>/g, "[图片]")
.replaceAll(/<[^>]+>/g, "")
.replace(/ /gi, "");
return html;
}
就报这个错根据这个replace
找相关的资料?.replace 与.replace两者区别
.replace:
这是字符串的replace方法,用于在字符串中替换匹配的子字符串。如果调用该方法的对象是null或undefined,则会抛出错误。
但还有一个?.replace
:这是可选链(Optional Chaining)操作符与replace方法的结合。可选链操作符允许在尝试访问深层嵌套的对象属性时不必明确验证每一层是否存在。当使用?.replace时,如果前面的对象是null或undefined,则整个表达式将返回undefined,而不会抛出错误。这可以避免在处理可能为空或不存在的对象时发生错误。
最后替换成.replace
:就好了