Skip to content

Commit 4a98b3e

Browse files
authored
Merge pull request #859 from indeyets/functionality
Функционал -> Функциональность
2 parents f9446f7 + c212b1d commit 4a98b3e

File tree

37 files changed

+56
-55
lines changed

37 files changed

+56
-55
lines changed

1-js/02-first-steps/05-types/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ let phrase = `Обратные кавычки позволяют встраив
9999

100100
Двойные или одинарные кавычки являются "простыми", между ними нет разницы в JavaScript.
101101

102-
Обратные кавычки же имеют "расширенный функционал". Они позволяют нам встраивать выражения в строку, заключая их в `${}`. Например:
102+
Обратные кавычки же имеют "расширенную функциональность". Они позволяют нам встраивать выражения в строку, заключая их в `${}`. Например:
103103

104104
```js run
105105
let name = "Иван";
@@ -113,7 +113,7 @@ alert( `результат: *!*${1 + 2}*/!*` ); // результат: 3
113113

114114
Выражение внутри `${…}` вычисляется, и его результат становится частью строки. Мы можем положить туда всё, что угодно: переменную `name` или выражение `1 + 2`, или что-то более сложное.
115115

116-
Обратите внимание, что это можно делать только в обратных кавычках. Другие кавычки не имеют такого функционала встраивания!
116+
Обратите внимание, что это можно делать только в обратных кавычках. Другие кавычки не имеют такой функциональности встраивания!
117117
```js run
118118
alert( "результат: ${1 + 2}" ); // результат: ${1 + 2} (двойные кавычки ничего не делают)
119119
```

1-js/02-first-steps/09-alert-prompt-confirm/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,4 @@ alert( isBoss ); // true, если нажата OK
107107
1. Расположение окон определяется браузером. Обычно окна находятся в центре.
108108
2. Визуальное отображение окон зависит от браузера, и мы не можем изменить их вид.
109109

110-
Такова цена простоты. Есть другие способы показать более приятные глазу окна с богатым функционалом для взаимодействия с пользователем, но если "навороты" не имеют значения, то данные методы работают отлично.
110+
Такова цена простоты. Есть другие способы показать более приятные глазу окна с богатой функциональностью для взаимодействия с пользователем, но если "навороты" не имеют значения, то данные методы работают отлично.

1-js/03-code-quality/05-testing-mocha/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe("pow", function() {
5151
Спецификация состоит из трёх основных блоков:
5252

5353
`describe("заголовок", function() { ... })`
54-
: Какой функционал мы описываем. В нашем случае мы описываем функцию `pow`. Используется для группировки рабочих лошадок -- блоков `it`.
54+
: Какую функциональность мы описываем. В нашем случае мы описываем функцию `pow`. Используется для группировки рабочих лошадок -- блоков `it`.
5555

5656
`it("описание", function() { ... })`
5757
: В первом аргументе блока `it` мы *человеческим языком* описываем конкретный способ использования функции, а во втором -- пишем функцию, которая тестирует данный случай.
@@ -73,7 +73,7 @@ describe("pow", function() {
7373
4. Теперь у нас есть правильно работающая начальная реализация и тесты.
7474
5. Мы добавляем новые способы использования в спецификацию, возможно, ещё не реализованные в тестируемом коде. Тесты начинают "падать" (выдавать ошибки).
7575
6. Возвращаемся на шаг 3, дописываем реализацию до тех пор, пока тесты не начнут завершаться без ошибок.
76-
7. Повторяем шаги 3-6, пока требуемый функционал не будет готов.
76+
7. Повторяем шаги 3-6, пока требуемая функциональность не будет готова.
7777

7878
Таким образом, разработка проходит *итеративно*. Мы пишем спецификацию, реализуем её, проверяем, что тесты выполняются без ошибок, пишем ещё тесты, снова проверяем, что они проходят и т.д.
7979

@@ -302,7 +302,7 @@ describe("тест", function() {
302302
303303
## Расширение спецификации
304304
305-
Основной функционал `pow` реализован. Первая итерация разработки завершена. Когда мы закончим отмечать и пить шампанское, давайте продолжим работу и улучшим `pow`.
305+
Основная функциональность `pow` реализована. Первая итерация разработки завершена. Когда мы закончим отмечать и пить шампанское, давайте продолжим работу и улучшим `pow`.
306306
307307
Как было сказано, функция `pow(x, n)` предназначена для работы с целыми положительными значениями `n`.
308308

1-js/05-data-types/01-primitives-methods/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ roma.sayHi(); // Привет, дружище!
4646

4747
1. Примитивы остаются примитивами. Одно значение, как и хотелось.
4848
2. Язык позволяет осуществлять доступ к методам и свойствам строк, чисел, булевых значений и символов.
49-
3. Чтобы это работало, при таком доступе создаётся специальный "объект-обёртка", который предоставляет нужный функционал, а после удаляется.
49+
3. Чтобы это работало, при таком доступе создаётся специальный "объект-обёртка", который предоставляет нужную функциональность, а после удаляется.
5050

5151
Каждый примитив имеет свой собственный "объект-обёртку", которые называются: `String`, `Number`, `Boolean` и `Symbol`. Таким образом, они имеют разный набор методов.
5252

1-js/06-advanced-functions/06-function-object/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,4 +348,4 @@ welcome(); // Hello, Guest (вложенный вызов работает)
348348

349349
Они создают "основную" функцию и добавляют множество "вспомогательных" функций внутрь первой. Например, библиотека [jQuery](https://jquery.com) создаёт функцию с именем `$`. Библиотека [lodash](https://lodash.com) создаёт функцию `_`, а потом добавляет в неё `_.clone`, `_.keyBy` и другие свойства (чтобы узнать о ней побольше см. [документацию](https://lodash.com/docs)). Они делают это, чтобы уменьшить засорение глобального пространства имён посредством того, что одна библиотека предоставляет только одну глобальную переменную, уменьшая вероятность конфликта имён.
350350

351-
Таким образом, функция может не только делать что-то сама по себе, но также и предоставлять полезный функционал через свои свойства.
351+
Таким образом, функция может не только делать что-то сама по себе, но также и предоставлять полезную функциональность через свои свойства.

1-js/06-advanced-functions/09-call-apply-decorators/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ alert( "Again: " + slow(2) ); // возвращаем из кеша
4545

4646
В коде выше `cachingDecorator` -- это *декоратор*, специальная функция, которая принимает другую функцию и изменяет её поведение.
4747

48-
Идея состоит в том, что мы можем вызвать `cachingDecorator` с любой функцией, в результате чего мы получим кеширующую обёртку. Это здорово, т.к. у нас может быть множество функций, использующих такой функционал, и всё, что нам нужно сделать - это применить к ним `cachingDecorator`.
48+
Идея состоит в том, что мы можем вызвать `cachingDecorator` с любой функцией, в результате чего мы получим кеширующую обёртку. Это здорово, т.к. у нас может быть множество функций, использующих такую функциональность, и всё, что нам нужно сделать - это применить к ним `cachingDecorator`.
4949

5050
Отделяя кеширующий код от основного кода, мы также сохраняем чистоту и простоту последнего.
5151

1-js/08-prototypes/03-native-prototypes/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Свойство `"prototype"` широко используется внутри самого языка JavaScript. Все встроенные функции-конструкторы используют его.
44

5-
Сначала мы рассмотрим детали, а затем используем `"prototype"` для добавления встроенным объектам нового функционала.
5+
Сначала мы рассмотрим детали, а затем используем `"prototype"` для добавления встроенным объектам новой функциональности.
66

77
## Object.prototype
88

1-js/09-classes/01-class/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ user.sayHi();
172172
3. Классы всегда используют `use strict`.
173173
Весь код внутри класса автоматически находится в строгом режиме.
174174

175-
Также в дополнение к основному, описанному выше, функционалу, синтаксис `class` даёт ряд других интересных возможностей, с которыми мы познакомимся чуть позже.
175+
Также в дополнение к основной, описанной выше, функциональности, синтаксис `class` даёт ряд других интересных возможностей, с которыми мы познакомимся чуть позже.
176176

177177
## Class Expression
178178

1-js/09-classes/04-private-protected-properties-methods/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ machine.waterAmount = 100;
241241
alert(machine.#waterAmount); // Error
242242
```
243243

244-
В отличие от защищённых, функционал приватных полей обеспечивается самим языком. Это хорошо.
244+
В отличие от защищённых, функциональность приватных полей обеспечивается самим языком. Это хорошо.
245245

246246
Но если мы унаследуем от `CoffeeMachine`, то мы не получим прямого доступа к `#waterAmount`. Мы будем вынуждены полагаться на геттер/сеттер `waterAmount`:
247247

1-js/09-classes/07-mixins/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
Иногда это может ограничивать нас. Например, у нас есть класс `StreetSweeper` и класс `Bicycle`, а мы хотим создать их смесь: `StreetSweepingBicycle`.
66

7-
Или у нас есть класс `User`, который реализует пользователей, и класс `EventEmitter`, реализующий события. Мы хотели бы добавить функционал класса `EventEmitter` к `User`, чтобы пользователи могли легко генерировать события.
7+
Или у нас есть класс `User`, который реализует пользователей, и класс `EventEmitter`, реализующий события. Мы хотели бы добавить функциональность класса `EventEmitter` к `User`, чтобы пользователи могли легко генерировать события.
88

99
Для таких случаев существуют "примеси".
1010

1111
По определению из Википедии, [примесь](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%81%D1%8C_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)) - это класс, методы которого предназначены для использования в других классах, причём без наследования от примеси.
1212

13-
Другими словами, *примесь* определяет методы, которые реализуют определённое поведение. Мы не используем примесь саму по себе, а используем её, чтобы добавить функционал другим классам.
13+
Другими словами, *примесь* определяет методы, которые реализуют определённое поведение. Мы не используем примесь саму по себе, а используем её, чтобы добавить функциональность другим классам.
1414

1515
## Пример примеси
1616

@@ -107,7 +107,7 @@ new User("Вася").sayHi(); // Привет, Вася!
107107

108108
## EventMixin
109109

110-
Многие объекты в браузерной разработке (и не только) обладают важной способностью - они могут генерировать события. События - отличный способ передачи информации всем, кто в ней заинтересован. Давайте создадим примесь, которая позволит легко добавлять функционал по работе с событиями любым классам/объектам.
110+
Многие объекты в браузерной разработке (и не только) обладают важной способностью - они могут генерировать события. События - отличный способ передачи информации всем, кто в ней заинтересован. Давайте создадим примесь, которая позволит легко добавлять функциональность по работе с событиями любым классам/объектам.
111111

112112
- Примесь добавит метод `.trigger(name, [data])` для генерации события. Аргумент `name` - это имя события, за которым могут следовать другие аргументы с данными для события.
113113
- Также будет добавлен метод `.on(name, handler)`, который назначает обработчик для события с заданным именем. Обработчик будет вызван, когда произойдёт событие с указанным именем `name`, и получит данные из `.trigger`.
@@ -203,6 +203,6 @@ menu.choose("123"); // Выбранное значение: 123
203203

204204
Некоторые другие языки допускают множественное наследование. JavaScript не поддерживает множественное наследование, но с помощью примесей мы можем реализовать нечто похожее, скопировав методы в прототип.
205205

206-
Мы можем использовать примеси для расширения функционала классов, например, для обработки событий, как мы сделали это выше.
206+
Мы можем использовать примеси для расширения функциональности классов, например, для обработки событий, как мы сделали это выше.
207207

208208
С примесями могут возникнуть конфликты, если они перезаписывают существующие методы класса. Стоит помнить об этом и быть внимательнее при выборе имён для методов примеси, чтобы их избежать.

0 commit comments

Comments
 (0)