Из http://www.jibbering.com/faq/faq_notes/closures.html:
Примечание. ECMAScript определяет внутреннее свойство [[prototype]] для внутреннего типа объекта. Это свойство напрямую не доступно с помощью скриптов, но это цепочка объектов, на которые ссылается внутреннее свойство [[prototype]], которое используется при разрешении доступа к свойствам; цепь прототипа объекта. Существует общедоступное свойство прототипа, позволяющее назначать, определять и манипулировать прототипами в сочетании с внутренним свойством [[prototype]]. Детали отношения между двумя описаны в ECMA 262 (3-е издание) и выходят за рамки этого обсуждения.
Каковы детали взаимоотношений между ними? Я просматривал ECMA 262, и все, что я читал, есть такие вещи, как:
К конструкторам, связанным с прототипом, может ссылаться конструктор выражения программы .prototype,
Собственные объекты ECMAScript имеют внутреннее свойство, называемое [[Prototype]]. Значение этого свойства равно либо null, либо объекту и используется для реализации наследования.
Каждая встроенная функция и каждый встроенный конструктор имеют объект-прототип функции, который является начальным значением выражения Function.prototype
Каждый встроенный объект-прототип имеет объект-прототип объекта, который является начальным значением выражения Object.prototype(15.3.2.1), как значение его внутреннего свойства [[Prototype]], за исключением объекта Object самого прототипа.
Из этого все, что я собираю, является то, что свойство [[Prototype]] эквивалентно свойству prototype
для почти любого объекта. Я ошибаюсь?