このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Symbol.split

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨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" ]

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-symbol.split

ブラウザーの互換性

関連情報