You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaScript中RegExp的test()方法传入空对象会返回不同结果?

解释这段JavaScript代码的行为

这段代码的核心是理解RegExp构造函数对非字符串参数的处理,以及正则表达式中字符类的作用:

  • 当调用new RegExp({})时,由于RegExp构造函数期望接收字符串或正则对象作为参数,空对象会被自动转换为字符串。空对象的toString()方法默认返回"[object Object]"。
  • 这个字符串会被解析为正则表达式模式:/[object Object]/。注意这里的[]不是普通字符串,而是正则中的字符类,表示匹配集合内的任意单个字符——集合包含o、b、j、e、c、t、空格、O这些字符。
  • 调用test('mom')时,字符串'mom'包含字符o,属于字符类中的成员,因此匹配成功,返回true。
  • 调用test('dad')时,字符串'dad'中的d和a都不在字符类的集合里,匹配失败,返回false。

内容的提问来源于stack exchange,提问作者Agorreca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:02:05