То есть все знают, что я имею в виду под "неявными методами"? Они как те свойства по умолчанию
из прошлых дней Windows COM, где вы могли бы напечатать что-то вроде
val = obj(arguments)
и это будет интерпретироваться как
val = obj.defaultMethod(arguments)
Я только что узнал, что JavaScript имеет то же самое: метод по умолчанию для объекта RegExp
выглядит как «exec», как в
/(\w{4})/('yip jump man')[1]
==> jump
Это работает даже тогда, когда объект RegExp назначен переменной, и даже когда
он создается с помощью конструктора RegExp вместо /.../
, что является хорошей новостью
для нас поклонников ссылочной прозрачности.
Где это задокументировано и / или устарело?