Каков порядок операций внутри оператора возврата при наличии нескольких методов? - PullRequest
0 голосов
/ 11 ноября 2019

В следующем утверждении, каков будет порядок операций?

... return array.map(some funct).join().sort()

Это справа налево или слева направо? Или зависит от типа функции, присутствующей в утверждении, что означает, что каждый случай уникален. Если да, то каково хорошее эмпирическое правило для отображения методов: что будет первым, а затем и так далее?

Спасибо

Ответы [ 2 ]

3 голосов
/ 11 ноября 2019

Операторы доступа к свойству имеют ассоциативность слева направо:

array.map(func).sort().join()

- это то же самое, что и

(((array).map(func)).sort()).join()

С другой стороны это не имеет смысла, выдаже не смог сгруппировать его синтаксически корректным способом.

Что касается порядка оценки, то это всегда слева направо в javascript. В случае вызовов методов, в любом случае, существует только один разумный порядок: оцените объект, затем получите доступ к свойству и оцените его по значению функции, вызову этой функции.

1 голос
/ 11 ноября 2019

Слева направо - порядок по умолчанию в js.

Кроме того, есть некоторые библиотеки js, которые позволяют вам связывать функции справа налево с помощью вспомогательных функций.

...