【发布时间】:2012-06-02 08:17:48
【问题描述】:
我很惊讶
/a/ === /a/
在 JavaScript 中计算为 false。通读the specs:
程序中的两个正则表达式文字计算为正则 永远不会作为 === 相互比较的表达式对象,即使 两个字面量的内容是相同的。
既然===不能用于测试相等性,那么在JavaScript中如何测试正则表达式的相等性呢?
【问题讨论】:
-
您说的是 JavaScript,
[] == []计算结果为False的语言。 -
@SivaCharan 这有什么用?
-
@TylerCrompton:别忘了
[] == [].length。 This question 可能会回答最初的问题,或者至少将 OP 推向正确的方向。 -
这里没有什么特别的 - 这是预期的和合乎逻辑的行为。
RegExp不是一个特殊的对象,如字符串、对象和数组 - 你也不会期望new MyClass(x) === new MyClass(x)是真的。
标签: javascript