Как делает __ первичный __, отличаются от constructor.prototype?

Вот ответ:

<%= link_to 'Publish', post_path, data: {method: :patch, remote: true, params: {state: "published"}.to_param}, class: "btn btn-primary" %>

Мне просто нужна форма, если кто-то может помочь

156
задан BlueEyesWhiteDragon 24 August 2016 в 16:05
поделиться

1 ответ

constructor предопределенное свойство [[DontEnum]] объекта, на который указывают prototype свойство функционального объекта, и первоначально укажет на сам функциональный объект.

__proto__ эквивалентно внутреннему свойству [[Prototype]] объекта, т.е. его фактическому прототипу.

при создании объекта с new оператор его внутреннее свойство [[Prototype]] будет установлено на объект, на который указывает свойство функции конструктора prototype.

Это означает, что .constructor оценит к .__proto__.constructor, т.е. функция конструктора, используемая для создания объекта, и как мы узнали, protoype, свойство этой функции использовалось для установки объекта [[Прототип]].

Из этого следует, что .constructor.prototype.constructor идентично .constructor (как долго, поскольку эти свойства не были перезаписаны); см. здесь для более подробного объяснения.

, Если __proto__ доступно, можно обойти фактическую опытную цепочку объекта. Нет никакого способа сделать это в простом ECMAScript3, потому что JavaScript не был разработан для глубоких иерархий наследования.

66
ответ дан Matt Fenwick 23 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: