javascript - 为什么一美元不见了?
问题描述
let str = '$$double_dollars$$'
console.log(str.replace('$$double_dollars$$', '$$no_double_dollars$$'));
// => $no_double_dollars$
// expected $$no_double_dollars$$
为什么会这样?如何解决此错误?
解决方案
根据 MDN 文档String.prototype.replace
(正如@Alex 所说),有一个特殊模式列表,这些模式会被相应地评估,其中之一就是您正在使用的模式。
特殊模式如下:
$$
插入一个$
有关特殊模式的完整列表,请参阅MDN 文档。
正如@H.Figueiredo 所评论的那样,您可以避开美元符号或遵循此答案后几秒钟发布的答案之一。
推荐阅读
- reactjs - 如何测试子组件是否已呈现?
- java - 有没有办法使用线程在同一帧中显示不同的图像?
- javascript - ReactJS:如何将检索到的 post json 响应显示到我用来提交值的同一表单组件?
- c# - 如何以编程方式将 WPF 扩展工具中的元素添加到网格?
- angular - 使用 Cypress 写入日期字段
- java - 使用 CDK 创建/关联 ssh 密钥对到 ec2 实例
- c# - 如何使用“硬编码”字典/枚举
- docker - dockerd 命令加载监听器失败
- asp.net-mvc - 使用 Entity Framework Core 中的“用户”实体创建一个名为“团队”的实体,该实体具有经理和营销人员的集合
- java - int 上的余数运算符导致 java.util.Objects.requireNonNull?