Symbol.search

The Symbol.search static data property represents the well-known symbol @@search. The String.prototype.search() method looks up this symbol on its first argument for the method that returns the index within a string that matches the current object.

For more information, see RegExp.prototype[@@search]() and String.prototype.search().

Try it

Value

The well-known symbol @@search.

Property attributes of Symbol.search
Writable no
Enumerable no
Configurable no

Examples

js
class caseInsensitiveSearch {
  constructor(value) {
    this.value = value.toLowerCase();
  }
  [Symbol.search](string) {
    return string.toLowerCase().indexOf(this.value);
  }
}

console.log("foobar".search(new caseInsensitiveSearch("BaR"))); // 3

Specifications

Specification
ECMAScript Language Specification
# sec-symbol.search

Browser compatibility

BCD tables only load in the browser

See also