From 5e48f8a9807acb369fa0228d16655fc044f4a17b Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 15 Sep 2021 22:48:53 +0300 Subject: Unification translation of rest parameters (#2470) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Унификация термина "rest parameters" * Update files/ru/web/javascript/reference/functions/index.html Co-authored-by: Maxim Postautov <54762420+mpstv@users.noreply.github.com> Co-authored-by: Maxim Postautov <54762420+mpstv@users.noreply.github.com> --- .../reference/functions/arguments/index.html | 12 +++++----- .../reference/functions/arrow_functions/index.html | 4 ++-- .../web/javascript/reference/functions/index.html | 8 +++---- .../reference/functions/rest_parameters/index.html | 28 +++++++++++----------- 4 files changed, 26 insertions(+), 26 deletions(-) (limited to 'files/ru/web/javascript/reference/functions') diff --git a/files/ru/web/javascript/reference/functions/arguments/index.html b/files/ru/web/javascript/reference/functions/arguments/index.html index 80f8c29342..0cadf2be3f 100644 --- a/files/ru/web/javascript/reference/functions/arguments/index.html +++ b/files/ru/web/javascript/reference/functions/arguments/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Functions/arguments

Объект arguments — это подобный массиву объект, который содержит аргументы, переданные в функцию.

-

Примечание: Если вы пишите ES6-совместимый код, то лучше использовать rest параметры.

+

Примечание: Если вы пишите ES6-совместимый код, то лучше использовать остаточные параметры.

@@ -139,9 +139,9 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley"); */ -

Оставшиеся, деструктурированные и параметры по умолчанию

+

Остаточные, деструктурированные и параметры по умолчанию

-

Объект arguments может использоваться совместно с оставшимися параметрами, параметрами по умолчанию или деструктурированными параметрами.

+

Объект arguments может использоваться совместно с остаточными параметрами, параметрами по умолчанию или деструктурированными параметрами.

function foo(...args) {
   return arguments;
@@ -156,7 +156,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
} bar(10); // 10 -

В следующем примере возвращается 100, поскольку здесь нет оставшихся параметров, параметров по умолчанию или деструктурированных параметров:

+

В следующем примере возвращается 100, поскольку здесь нет остаточных параметров, параметров по умолчанию или деструктурированных параметров:

function zoo(a) {
   arguments[0] = 100;
@@ -164,7 +164,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
} zoo(10); // 100 -

На самом деле, если оставшиеся параметры, параметры по умолчанию или деструктурированные параметры не используются, формальные аргументы будут ссылаться на последние значения объекта arguments, при считывании значений формальных аргументов будут считаны последние данные из arguments, а при изменении значений формальных аргументов будет обновлён и объект arguments. Пример приведён в коде ниже:

+

На самом деле, если остаточные параметры, параметры по умолчанию или деструктурированные параметры не используются, формальные аргументы будут ссылаться на последние значения объекта arguments, при считывании значений формальных аргументов будут считаны последние данные из arguments, а при изменении значений формальных аргументов будет обновлён и объект arguments. Пример приведён в коде ниже:

function func(a, b) {
     arguments[0] = 90;
@@ -184,7 +184,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
func(3, 4); //9, 99 -

Но в случае, когда применяются оставшиеся параметры, параметры по умолчанию или деструктурированные параметры, будет обработано нормальное поведение, как в случае параметров по умолчанию:

+

Но в случае, когда применяются остаточные параметры, параметры по умолчанию или деструктурированные параметры, будет обработано нормальное поведение, как в случае параметров по умолчанию:

function func(a, b, c=9) {
     arguments[0] = 99;
diff --git a/files/ru/web/javascript/reference/functions/arrow_functions/index.html b/files/ru/web/javascript/reference/functions/arrow_functions/index.html
index e336bb93b5..8cabc98dcb 100644
--- a/files/ru/web/javascript/reference/functions/arrow_functions/index.html
+++ b/files/ru/web/javascript/reference/functions/arrow_functions/index.html
@@ -36,7 +36,7 @@ singleParam => { statements }
 
// Когда возвращаете литеральное выражение объекта, заключите тело в скобки
 params => ({foo: bar})
 
-// Rest параметры и параметры по умолчанию поддерживаются
+// Остаточные параметры и параметры по умолчанию поддерживаются
 (param1, param2, ...rest) => { statements }
 (param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
 
@@ -188,7 +188,7 @@ function foo() {
 
 foo(1); // 3
-

В большинстве случаев лучшей заменой объекта arguments в стрелочных функциях являются rest параметры:

+

В большинстве случаев лучшей заменой объекта arguments в стрелочных функциях являются остаточные параметры:

function foo() {
   var f = (...args) => args[0];
diff --git a/files/ru/web/javascript/reference/functions/index.html b/files/ru/web/javascript/reference/functions/index.html
index 2bdc3496e1..26a0bdc114 100644
--- a/files/ru/web/javascript/reference/functions/index.html
+++ b/files/ru/web/javascript/reference/functions/index.html
@@ -154,16 +154,16 @@ param => expression
 

Параметры функции

-

Примечание: Оставшиеся параметры и параметры по умолчанию — это экспериментальная технология, часть спецификации ECMAScript 6, и они пока ещё не получили широкой поддержки среди браузеров.

+

Примечание: Остаточные параметры и параметры по умолчанию — это экспериментальная технология, часть спецификации ECMAScript 6, и они пока ещё не получили широкой поддержки среди браузеров.

Параметры по умолчанию

Параметры функции по умолчанию позволяют инициализировать формальные параметры со значениями по умолчанию, если им не было передано значение, или было передано undefined. Подробнее о них можно узнать в статье Параметры по умолчанию.

-

Оставшиеся параметры

+

Остаточные параметры

-

Синтаксис оставшихся параметров позволяет передать бесконечное число аргументов как массив. Подробности можно найти в статье Оставшиеся параметры.

+

Синтаксис оставшихся параметров позволяет передать бесконечное число аргументов как массив. Подробности можно найти в статье Остаточные параметры.

Объект arguments

@@ -417,7 +417,7 @@ result = padZeros(5,4); // возвращает "0005" {{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}} {{Spec2('ES6')}} - Новое: стрелочные функции, генераторы, параметры по умолчанию, оставшиеся параметры + Новое: стрелочные функции, генераторы, параметры по умолчанию, остаточные параметры diff --git a/files/ru/web/javascript/reference/functions/rest_parameters/index.html b/files/ru/web/javascript/reference/functions/rest_parameters/index.html index 14229ded17..0132e6b5ed 100644 --- a/files/ru/web/javascript/reference/functions/rest_parameters/index.html +++ b/files/ru/web/javascript/reference/functions/rest_parameters/index.html @@ -1,15 +1,15 @@ --- -title: Оставшиеся параметры (rest parameters) +title: Остаточные параметры (rest parameters) slug: Web/JavaScript/Reference/Functions/Rest_parameters tags: - JavaScript - - Оставшиеся параметры + - Остаточные параметры - Функции translation_of: Web/JavaScript/Reference/Functions/rest_parameters ---
{{jsSidebar("Functions")}} 
-

Синтаксис оставшихся параметров функции позволяет представлять неограниченное множество аргументов в виде массива.

+

Синтаксис остаточных параметров функции позволяет представлять неограниченное множество аргументов в виде массива.

{{EmbedInteractiveExample("pages/js/functions-restparameters.html")}}

@@ -38,21 +38,21 @@ myFun("один", "два", "три", "четыре", "пять", "шесть"); // manyMoreArgs, [три, четыре, пять, шесть]
-

Отличия оставшихся параметров от объекта arguments

+

Отличия остаточных параметров от объекта arguments

-

Существует три основных отличия оставшихся параметров от объекта arguments:

+

Существует три основных отличия остаточных параметров от объекта arguments:

    -
  • оставшиеся параметры включают только те, которым не задано отдельное имя, в то время как объект arguments содержит все аргументы, передаваемые в функцию;
  • -
  • объект arguments не является массивом, в то время как оставшиеся параметры являются экземпляром Array и методы sort, map, forEach или pop могут непосредственно у них использоваться;
  • +
  • остаточные параметры включают только те, которым не задано отдельное имя, в то время как объект arguments содержит все аргументы, передаваемые в функцию;
  • +
  • объект arguments не является массивом, в то время как остаточные параметры являются экземпляром Array и методы sort, map, forEach или pop могут непосредственно у них использоваться;
  • объект arguments имеет дополнительную функциональность, специфичную только для него (например, свойство callee).

Из аргументов в массив

-

Оставшиеся параметры были введены для уменьшения количества шаблонного кода:

+

Остаточные параметры были введены для уменьшения количества шаблонного кода:

-
// До появления оставшихся параметров "arguments" конвертировали в обычный массив используя:
+
// До появления остаточных параметров "arguments" конвертировали в обычный массив используя:
 
 function f(a, b) {
 
@@ -67,16 +67,16 @@ function f(a, b) {
 
 }
 
-// Теперь мы можем легко получить оставшиеся параметры как обычный массив
+// Теперь мы можем легко получить остаточные параметры как обычный массив
 
 function f(...args) {
   var normalArray = args;
   var first = normalArray.shift(); // OK, даёт первый аргумент
 }
-

Деструктуризация оставшихся параметров

+

Деструктуризация остаточных параметров

-

Оставшиеся параметры могут быть деструктурированы (только массивы). Это означает, что их данные могут быть заданы как отдельные значения. Смотрите Деструктурирующее присваивание.

+

Остаточные параметры могут быть деструктурированы (только массивы). Это означает, что их данные могут быть заданы как отдельные значения. Смотрите Деструктурирующее присваивание.

function f(...[a, b, c]) {
   return a + b + c;
@@ -132,7 +132,7 @@ fun1();  // 0
 fun1(5); // 1
 fun1(5, 6, 7); // 3
-

В следующем примере, оставшиеся параметры используются для сбора всех аргументов после первого в массив. Каждый из них умножается на первый параметр и возвращается массив:

+

В следующем примере, остаточные параметры используются для сбора всех аргументов после первого в массив. Каждый из них умножается на первый параметр и возвращается массив:

function multiply(multiplier, ...theArgs) {
   return theArgs.map(function(element) {
@@ -143,7 +143,7 @@ fun1(5, 6, 7); // 3
var arr = multiply(2, 1, 2, 3); console.log(arr); // [2, 4, 6]
-

Методы Array могут быть использованы на оставшихся параметрах, но не на объекте arguments

+

Методы Array могут быть использованы на остаточных параметрах, но не на объекте arguments

function sortRestArgs(...theArgs) {
   var sortedArgs = theArgs.sort();
-- 
cgit v1.2.3-54-g00ecf