String.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 giá trị String trả về giá trị chuỗi này.

Try it

const stringObj = new String("foo");

console.log(stringObj);
// Expected output: String { "foo" }

console.log(stringObj.toString());
// Expected output: "foo"

Cú pháp

js
toString()

Tham số

Không có.

Giá trị trả về

Một chuỗi biểu diễn giá trị chuỗi được chỉ định.

Mô tả

Đối tượng String ghi đè phương thức toString của Object; nó không kế thừa Object.prototype.toString(). Đối với các giá trị String, phương thức toString trả về chính chuỗi đó (nếu là kiểu nguyên thủy) hoặc chuỗi mà đối tượng String bao bọc. Nó có cách triển khai hoàn toàn giống với String.prototype.valueOf().

Phương thức toString() yêu cầu giá trị this của nó phải là một kiểu nguyên thủy String hoặc đối tượng bao bọc String. Nó ném ra TypeError cho các giá trị this khác mà không cố gắng ép kiểu chúng thành chuỗi.

String không có phương thức [Symbol.toPrimitive](), JavaScript tự động gọi phương thức toString() khi một đối tượng String được sử dụng trong ngữ cảnh yêu cầu chuỗi, chẳng hạn như trong template literal. Tuy nhiên, các giá trị nguyên thủy chuỗi không tham chiếu đến phương thức toString() để ép kiểu sang chuỗi — vì chúng đã là chuỗi, không cần thực hiện chuyển đổi.

js
String.prototype.toString = () => "Overridden";
console.log(`${"foo"}`); // "foo"
console.log(`${new String("foo")}`); // "Overridden"

Ví dụ

Sử dụng toString()

Ví dụ sau hiển thị giá trị chuỗi của một đối tượng String:

js
const x = new String("Hello world");

console.log(x.toString()); // "Hello world"

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-string.prototype.tostring

Khả năng tương thích với trình duyệt

Xem thêm