Свойство prototype нет смысла задавать объектам (смысл есть только для конструктора). Почему {}.prototype можно использовать только справа от знака "=" я не в курсе.
Array и Object - это конструкторы. При создании объектов через них, прототипом будет соответственно пустой массив и объект.
У объекта нет свойства prototype (typeof {}.prototype === "undefined")
|