Разница в скорости не очень заметна, поскольку по своей природе вы, вероятно, не будете создавать слишком много объектов (сотни, даже тысячи - это не то, что я часто называю), а если да, то скорость является критической проблемой для вас.вероятно, не будет кодировать в JS, и если оба вышеперечисленных факта неверны, то я уверен, что в нескольких выпусках всех популярных JS-движков разница будет незначительной (в некоторых это уже имеет место).
В ответ на ваш вопрос причины не связаны со скоростью, а потому, что шаблон проектирования из Object.create
предпочтительнее старого метода (по причинам, изложенным в том и другомответы).Они учитывают правильное использование атрибутов свойств ES5 (которые обеспечивают более масштабируемые объекты и, следовательно, более масштабируемые приложения) и могут помочь с иерархиями наследования.
Это прямое проектирование.Если бы мы взяли черту «ну, это не везде реализовано, так что давайте не будем промокать», все будет двигаться очень медленно.Напротив, раннее и амбициозное внедрение помогает отрасли двигаться вперед, помогает лицам, принимающим бизнес-решения, поддерживать новые технологии, помогает разработчикам совершенствовать и совершенствовать новые идеи и поддерживающие структуры.Я сторонник раннего (но осторожного и все еще обратно-совместимого) усыновления, потому что опыт показывает, что ожидание достаточного количества людей для поддержки технологии может заставить вас ждать слишком долго.Пусть IE6 станет уроком для тех, кто думает иначе.