RegExp.prototype.toString()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Phương thức toString() của các instance RegExp trả về một chuỗi biểu diễn biểu thức chính quy này.
Try it
console.log(new RegExp("a+b+c"));
// Expected output: /a+b+c/
console.log(new RegExp("a+b+c").toString());
// Expected output: "/a+b+c/"
console.log(new RegExp("bar", "g").toString());
// Expected output: "/bar/g"
console.log(new RegExp("\n", "g").toString());
// Expected output: "/\n/g"
console.log(new RegExp("\\n", "g").toString());
// Expected output: "/\n/g"
Cú pháp
toString()
Tham số
Không có.
Giá trị trả về
Một chuỗi biểu diễn đối tượng đã cho.
Mô tả
Đối tượng RegExp ghi đè phương thức toString() của đối tượng Object; nó không kế thừa Object.prototype.toString(). Đối với các đối tượng RegExp, phương thức toString() trả về biểu diễn chuỗi của biểu thức chính quy.
Trong thực tế, nó đọc các thuộc tính source và flags của regex và trả về chuỗi theo dạng /source/flags. Giá trị trả về của toString() được đảm bảo là một literal regex có thể phân tích cú pháp được, mặc dù nó có thể không phải là đúng cùng văn bản với những gì ban đầu được chỉ định cho regex (ví dụ: các cờ có thể được sắp xếp lại).
Ví dụ
>Sử dụng toString()
Ví dụ sau hiển thị giá trị chuỗi của đối tượng RegExp:
const myExp = new RegExp("a+b+c");
console.log(myExp.toString()); // '/a+b+c/'
const foo = new RegExp("bar", "g");
console.log(foo.toString()); // '/bar/g'
Biểu thức chính quy rỗng và escape
Vì toString() truy cập thuộc tính source, một biểu thức chính quy rỗng trả về chuỗi "/(?:)/", và các ký tự kết thúc dòng như \n được escape. Điều này làm cho giá trị trả về luôn là một literal regex hợp lệ.
new RegExp().toString(); // "/(?:)/"
new RegExp("\n").toString() === "/\\n/"; // true
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-regexp.prototype.tostring> |