Обновление приложения Android зависает при установке из магазина Google Play

method_missing не подходит для JavaScript по той же причине, которого он не существует в Python: на обоих языках методы - это просто атрибуты, которые являются функциями; и объекты часто имеют общедоступные атрибуты, которые не подлежат вызову. Контраст с Ruby, где открытый интерфейс объекта - это 100% -ный метод.

Что нужно в JavaScript - это крючок, чтобы поймать доступ к отсутствующим атрибутам, независимо от того, являются ли они методами или нет. Python имеет это: см. Специальный метод __ getattr __ .

Предложение __ noSuchMethod __ от Mozilla ввело еще одну несогласованность в языке, изрезанном с ними.

Путь вперед для JavaScript - механизм прокси (также в ECMAscript Harmony ), который ближе к протоколу Python для атрибута настройки доступ к , чем к методу Ruby's method_missing.

0
задан Ryan 18 March 2019 в 00:07
поделиться