gpt4 book ai didi

javascript - 为什么 (new RegExp ("\\w") ===/\w/) 在 JS 中是假的?

转载 作者:数据小太阳 更新时间:2023-10-29 04:27:10 26 4
gpt4 key购买 nike

我在 Chrome 的控制台中尝试了以下操作:

var r1 = new RegExp("\\w"); // → /\w/
var r2 = /\w/; // → /\w/
r1 === r2; // → false
r1 == r2; // → false
r1.toString() === r2.toString(); // → true
r1.source === r2.source; // → true

我不明白为什么会那样。

最佳答案

它们是两个不同的 RegExp 实例,因此通过直接将它们与 ===== 进行比较,您正在比较两个不相等的引用,导致 false

但是当您比较它们的 toString() 序列化或它们的来源时,您是在按值比较它们的字符串表示形式。由于它们基本上是完全相同的模式和标志,比较它们的字符串表示将返回 true

关于javascript - 为什么 (new RegExp ("\\w") ===/\w/) 在 JS 中是假的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com