Symbol.search - JavaScript | MDN

Try it

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

console.log("foobar".search(new Search1("bar")));
// Expected output: 3

Value

The well-known symbol Symbol.search.

Property attributes of Symbol.search
Writableno
Enumerableno
Configurableno

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® 2026 Language Specification
# sec-symbol.search

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.