Symbol.replace
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.replace 这个属性指定了当一个字符串替换所匹配字符串时所调用的方法。String.prototype.replace() 方法会调用此方法。
更多信息,详见 RegExp.prototype[Symbol.replace]() 和 String.prototype.replace()。
尝试一下
class Replace1 {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return `s/${string}/${this.value}/g`;
}
}
console.log("foo".replace(new Replace1("bar")));
// Expected output: "s/foo/bar/g"
Symbol.replace 的属性特性 | |
|---|---|
| 可写 | 否 |
| 可枚举 | 否 |
| 可配置 | 否 |
规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-symbol.replace> |
浏览器兼容性
Loading…