Symbol.search
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年1月以降、すべてのブラウザーで利用可能です。
Symbol.search は静的データプロパティで、ウェルノウンシンボルの Symbol.search を表します。String.prototype.search() メソッドは第一引数から、文字列内で現在のオブジェクトに一致する場所を返すメソッドを、このシンボルで探します。
詳しくは、RegExp.prototype[Symbol.search]() と String.prototype.search() を参照してください。
試してみましょう
class Search1 {
constructor(value) {
this.value = value;
}
[Symbol.search](string) {
return string.indexOf(this.value);
}
}
console.log("foobar".search(new Search1("bar")));
// 予想される結果: 3
値
ウェルノウンシンボル Symbol.search です。
Symbol.search のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
例
>独自の文字列検索
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
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-symbol.search> |