2016-12-02 13 views
0

В Javascript есть много встроенных объектов (например: Object, Number, Array, Math), которые готовы к клонированию/прототипированию для создания собственных пользовательских объектов.Как встроенные объекты (например: «Объект»), созданные в Javascript любым движком JS?

Я понимаю, как пользовательские объекты наследуют встроенные объекты. Объект Object находится поверх цепочки наследования.

Как этот объект «Объект» создан в памяти в первую очередь? Кто его создает?

Может ли кто-нибудь объяснить это на примере любого двигателя JS? (Предпочтительно двигатель V8). Заранее спасибо!!

+0

'Объект' является функцией. Это не вершина цепочки наследования. Соответствующая часть спецификации, которая объясняет, как инициализировать область, - http://www.ecma-international.org/ecma-262/7.0/#sec-createrealm. –

ответ

1

Механизм Javascript создает объект Object. Чтобы быть конкретным, «Object» - это функция, которая в свою очередь является объектом, поскольку функции являются первоклассным объектом в javascript.

Если вы хотите проверить исходный код встроенных модулей, ниже приведен репозиторий с открытым исходным кодом двигателя V8 в Github.

https://github.com/v8/v8/blob/master/src/builtins/builtins-object.cc