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® 2027 Language Specification> # sec-symbol.split> |