Допустим есть такой конструктор обёртки, который ищет элемент по идентификатору:
function $(…) {
if (this.constructor != $) {
return new $(…);
}
…
this.node = …;
…
return …;
}
Используем:
var obj = $(…);
Вот как будет лучше, чтобы вел себя этот конструктор:
obj → {node: Element} или null
или
obj → {node: Element или null}
?
В первом случае удобнее выполнять проверки:
if ($("#id")) { … }
Но если написать так:
var obj = new $("id");
то не логично в результате получать null, в случае, когда элемент не найден?