Как экземпляр jQuery отображается в виде массива при вызове из console.log?

При входе в консоль JavaScript объект jQuery отображается в виде массива. Однако это все еще экземпляр объекта jQuery.

var j = jQuery();
=> []
console.log(j);
=> []
console.log('test with string concat: ' + j);
=> test with string concat: [object Object]
j instanceof Array
=> false
j instanceof jQuery
=> true

Как можно дублировать это с их собственным объектом?

--------- РЕДАКТИРОВАТЬ ---------

Спасибо ZER0 за выяснение этого. Вот пример кода для создания объекта, который работает так же, как jQuery в консоли:

var Foo = function() {
  this.splice = Array.prototype.splice;
  Array.prototype.push.apply(this, arguments);

  return this;
}

var f = new Foo();
=> []
console.log(f);
=> []
console.log('test with string concat: ' + f);
=> test with string concat: [object Object]
f instanceof Array
=> false
f instanceof Foo
=> true

Очень круто.

Ответы на вопрос(5)

Ваш ответ на вопрос