После сбоя Firefox (FireBug) в 30-й раз во время отладки (я на Ubuntu), я решил использовать Chrome.По большей части это здорово.У меня только одна большая проблема.В FireBug, когда вы регистрируете что-то на консоли, вы всегда получаете строковое представление объекта.В результате имеет смысл реализовать toString на большинстве ваших прототипов, позволяя отображать наиболее важную информацию в любое время, когда объект появляется в любом месте на панелях разработчика или консоли.
Если мой код регистрирует следующее:
console.log(bill_gates);
Я не хочу, чтобы первое представление моего объекта в консоли было:
Object
, когда оно могло бы быть:
Person{Bill Gates, Microsoft Founder, dob: Oct 28}
И яне должно быть двойной регистрации всего, чтобы компенсировать этот недостаток:
console.log(bill_gates, bill_gates.toString());
Кроме того, двойная регистрация не помогает, когда вы углубляетесь в объект и обнаруживаете, что ваш объект состоит из других объектов, которыевсе помечены как «Объект».
Представьте себе, что вы идете на вечеринку, где каждый значок с именем «Лицо».Что я хочу, так это немного подробнее о личности этого человека, возможно, «Нед Кэмпбелл, Риэлтор» или «Сью Брэдшоу, страховые продажи».В FireBug ваши объекты носят пользовательские значки имен (на основе вашей реализации toString).В Chrome все ваши объекты носят значки с именами «Объект».Вы должны тратить время на опрос объекта (углубляясь в его свойства и методы), чтобы выяснить, с каким объектом вы имеете дело.Какая трата.
Это для меня является ОСНОВНЫМ упущением в дизайне превосходных Chrome Devtools.Есть ли способ (возможно, расширение), чтобы Devtools показывал строковые представления объектов (где бы они ни появлялись), как это делает FireBug?