Что означает точка перед переменной в Javascript
Может кто разъяснить, что означает точка в данном фрагменте кода? .filter .reduceRight
console.log(
[1, 4, 3, 0, 4, 5, 4]
.filter(element => !(element % 2))
.reduceRight((accumulator, element) => accumulator + Math.sqrt(element), 0)
); // 6
Ответы (2 шт):
Это синтаксис обращения к методу объекта (а также свойству тоже). В данном случае у массива есть метод filter, который вызывается по отношению к этому массиву. Аналогично с reduceRight
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight
Точка в выражениях разделяет объект и его свойство/метод.
Здесь сначала выполняется вызов метода filter исходного массива; а затем вызов метода reduceRight массива возвращенного методом filter.
То есть, это цепочка вызовов, одно выражение составленное из нескольких: в этом общем выражении вызывается метод того объекта, который получен вычислением предыдущего подвыражения. Вычисление подвыражений выполняется слева направо (оператор вызова, "скобки" - имеет больший приоритет, чем оператор доступа к свойству, "точка").
Желательно оформлять код по-человечески: потому что если делать это, то подобные вопросы сами собой отпадают.
Вот в данном случае, горизонтальные отступы (пустые строки) совершенно неуместны - они визуально "разрывают" цепочку вызовов, хотя это одно составное выражение (а не три независимых).