Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Эта страница была переведена с английского языка силами сообщества. Вы тоже можете внести свой вклад, присоединившись к русскоязычному сообществу MDN Web Docs.

Object.prototype.toString()

BaselineWidely available

МетодtoString() возвращает строку, представляющую объект.

Интерактивный пример

function Dog(name) {  this.name = name;}const dog1 = new Dog("Gabby");Dog.prototype.toString = function dogToString() {  return `${this.name}`;};console.log(dog1.toString());// Expected output: "Gabby"

Синтаксис

obj.toString()

Возвращаемое значение

Строка, представляющая объект.

Описание

Каждый объект имеет методtoString(), автоматически вызывающийся, когда объект должен быть представлен в виде текстового значения или когда объект участвует в выражении, где ожидается строка. По умолчанию, методtoString() наследуется каждым объектом, произошедшим от объектаObject. Если этот метод не переопределён в пользовательском объекте,toString() возвращает строку вида "[objectтип]", гдетип — это тип объекта. Это иллюстрирует следующий код:

js
var o = new Object();o.toString(); // вернёт [object Object]

Примечание:Начиная с JavaScript 1.8.5, методtoString(), вызванный наnull, возвращает строку[object Null], а вызванный дляundefined, возвращает строку[object Undefined], как определено в 5-м издании ECMAScript и последующих исправлениях. Смотрите примериспользование метода toString() для определения типа объекта.

Примеры

Пример: переопределение методаtoString по умолчанию

Вы можете создать функцию, которая будет вызываться вместо методаtoString() по умолчанию. МетодtoString() не принимает аргументов и должен возвращать строку. Создаваемый вами методtoString() может возвращать любую строку, какую вы захотите, но он будет наиболее полезным, если будет возвращать информацию об объекте.

Следующий код определяет объектDog и создаётtheDog, объект типаDog:

js
function Dog(name, breed, color, sex) {  this.name = name;  this.breed = breed;  this.color = color;  this.sex = sex;}theDog = new Dog("Болтушка", "лабрадор", "шоколадный", "девочка");

Если вы вызовете методtoString() на этом пользовательском объекте, он вернёт значение по умолчанию, унаследованное отObject:

js
theDog.toString(); // вернёт [object Object]

Следующий код создаёт и присваивает методdogToString(), переопределяющий методtoString() по умолчанию. Эта функция генерирует строку, содержащую кличку, породу, цвет и пол объекта, в форме "свойство = значение;".

js
Dog.prototype.toString = function dogToString() {  var ret =    "Собачка " +    this.name +    " - " +    this.sex +    ", " +    this.color +    " " +    this.breed;  return ret;};

или

js
Dog.prototype.toString = function dogToString() {  return `Dog ${this.name} is a ${this.sex} ${this.color} ${this.breed}`;};

После объявления этого метода, при любом использовании переменнойtheDog в строковом контексте, JavaScript будет автоматически вызывать функциюdogToString(), возвращающую следующую строку:

Собачка Болтушка - девочка, шоколадный лабрадор

Пример: использование методаtoString для определения типа объекта

МетодtoString() можно использовать с любым объектом для получения его класса. Для использования методаObject.prototype.toString() с любым объектом, вам необходимо вызвать на нём функцииFunction.prototype.call() илиFunction.prototype.apply(), передав объект, который вы хотите исследовать, первым параметромthisArg.

js
var toString = Object.prototype.toString;toString.call(new Date()); // [object Date]toString.call(new String()); // [object String]toString.call(Math); // [object Math]// Начиная с JavaScript 1.8.5toString.call(undefined); // [object Undefined]toString.call(null); // [object Null]

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-object.prototype.tostring

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp