Сообщение от Octane
|
Просто в результате выражения с оператором new, ожидается получить объект, а тут вдруг еще и null появляется.
|
Вообще, функция-конструктор (когда на последнем этапе вызывается, как инициализатор) может запросто
что-то вернуть. И именно это
"что-то" и будет результатом
new (вновь созданный объект, в свою очередь, просто удалиться, т.к. ссылок на него не будет). Поэтому с точки зрения алгоритма, нарушений нет, если вернуть
null. Разве что, "страдает" интуитивно-ожидаемый результат. Но, это дело привычки и знания/не знания, что
new не обязательно должен возвращать вновь созданный объект.
Этот "сахар" с
new часто используют в обёртках для классов, типа:
var MyClass = new Class({...});
где
new - что есть, что нет - так, для красоты и интуитивно-ожидаемого результата.
С другой стороны, "мёртвые цепочки" в jQuery, выглядят ещё менее интуитивно. Действительно, если объект не найден - его нет, и обёртка - ни к чему. Хотя, это только моё мнение.