Symbol.split
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年1月以降、すべてのブラウザーで利用可能です。
Symbol.split は静的データプロパティで、ウェルノウンシンボルの Symbol.split を表します。String.prototype.split() メソッドは、最初の引数でこのシンボルを検索し、現在のオブジェクトと一致するインデックスで文字列を分割するメソッドを呼び出します。
詳しくは、RegExp.prototype[Symbol.split]() と String.prototype.split() を参照してください。
試してみましょう
class Split1 {
constructor(value) {
this.value = value;
}
[Symbol.split](string) {
const index = string.indexOf(this.value);
return `${this.value}${string.substring(0, index)}/${string.substring(
index + this.value.length,
)}`;
}
}
console.log("foobar".split(new Split1("foo")));
// 予想される結果: "foo/bar"
値
ウェルノウンシンボル Symbol.split です。
Symbol.split のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
例
>独自の逆方向の分割
js
class ReverseSplit {
[Symbol.split](string) {
const array = string.split(" ");
return array.reverse();
}
}
console.log("Another one bites the dust".split(new ReverseSplit()));
// 予想される結果: [ "dust", "the", "bites", "one", "Another" ]
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-symbol.split> |