Каким образом устаналивается во встроенных объектах JavaScript «название» объекта?

Если вывести в консоль (Firefox) объект, то получим [object Object].

А вот встроенные имеют имя: [object Window], [object Math] и т.п.
Где же устанавливается это имя? Это имя переменной объекта прототипа? Или что?
Значение constructor.name?

Не разобрался. Кто в курсе - сообщите!
  • Вопрос задан
  • 2540 просмотров
Решения вопроса 2
RubaXa
@RubaXa
Вот и всё
var MyObj = function (){};
MyObj.prototype.toString = function () { return "[object MyObj]"; };

console.log(new MyObj + ""); // [object MyObj]
Ответ написан
Внутреннее свойство [[Class]], снаружи его нет возможности задать. В ECMAScript 6 для изменения возвращаемого через Object.prototype.toString значения будет символ @toStringTag (Symbol.toStringTag).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы