【问题标题】:Comparing Custom Strings(classes extending String class) using == [duplicate]使用 == [重复] 比较自定义字符串(扩展字符串类的类)
【发布时间】:2022-06-15 05:25:08
【问题描述】:

我想知道,是否有任何方法可以比较 2 个自定义字符串对象,它们是扩展 String 的类的实例,使用 == 不起作用,它总是返回 false。

我尝试过使用 valueOf 但没有成功,如果两个操作数都是对象,则永远不会调用该方法。

看下面的例子

class MyString extends String {
  doSomething(someData) {
    return doSomethingWithData(this, someData);
  };

  valueOf() {
    console.log('valueOf called');
    return this.toString();
  };
};

当做console.log(new MyString('hi') == 'hi');时,我明白了

valueOf called
true

但是当做console.log(new MyString('hi') == new MyString('hi'));时,我得到false

那么,valueOf 永远不会被调用,并且比较盲目地返回 false,有没有办法解决它?

【问题讨论】:

标签: javascript string comparison


猜你喜欢
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多