Symbol.replace
Symbol.replace 静态数据属性代表 知名 Symbol Symbol.replace。String.prototype.replace() 和 String.prototype.replaceAll() 方法会在其第一个参数上查找此 Symbol,用于替换与当前对象匹配的子字符串的方法。
有关更多信息,请参阅 RegExp.prototype[Symbol.replace]()、String.prototype.replace() 和 String.prototype.replaceAll()。
试一试
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 Symbol.replace。
Symbol.replace 的属性特性 | |
|---|---|
| 可写 | 否 |
| 可枚举 | 否 |
| 可配置 | 否 |
示例
使用 Symbol.replace
js
class CustomReplacer {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return string.replace(this.value, "#!@?");
}
}
console.log("football".replace(new CustomReplacer("foo"))); // "#!@?tball"
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-symbol.replace |
浏览器兼容性
加载中…