📜  JavaScript | Symbol.replace 属性

📅  最后修改于: 2022-05-13 01:56:34.511000             🧑  作者: Mango

JavaScript | Symbol.replace 属性

JavaScript 中的Symbol.replace属性是众所周知的符号,用于确定替换字符串的匹配子字符串的方法。该函数由String.prototype.replace()方法调用。

句法:

[Symbol.replace](string) 

参数:它接受单个参数“字符串”。

返回值:它将返回一个新的字符串。

下面的示例说明了 JavaScript 中的 Symbol.replace 属性:

示例 1:

class Replace1 {
    constructor(value) {
        this.value = value;
    }
      
    [Symbol.replace](string) {
        return `${string} --> ${this.value}`;
    }
}
  
console.log('geeksforgeeks'.replace(
            new Replace1('GEEKSFORGEEKS')));
              
console.log('Article written by '.replace(
            new Replace1('Shubham Singh')));

输出:

> "geeksforgeeks --> GEEKSFORGEEKS"
> "Article written by  --> Shubham Singh"

示例 2:

class Replace2 {  
    constructor(value) {  
        this.value = value;  
    }  
      
    [Symbol.replace](string) {  
        return `${string}`;  
    }  
}
  
var val = new Replace2("geeksforgeeks");  
console.log("Before: " + val.value);  
console.log("After: " + val.value
        .toUpperCase().replace(val.value));  
   
var val2 = new Replace2("Few Users");  
console.log("Before: " + val2.value);  
console.log("After: " + "Millions of Users"
        .replace(val2.value));

输出:

> "Before: geeksforgeeks"
> "After: GEEKSFORGEEKS"
> "Before: Few Users"
> "After: Millions of Users"

支持的浏览器: Symbol.replace 属性支持的浏览器如下:

  • 谷歌浏览器 51
  • 火狐 50
  • 边缘 15
  • 歌剧
  • 苹果浏览器

参考: https://devdocs.io/javascript/global_objects/symbol/replace