aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference
diff options
context:
space:
mode:
authorAlexey Istomin <webistomin@gmail.com>2021-03-20 18:37:44 +0300
committerGitHub <noreply@github.com>2021-03-20 18:37:44 +0300
commit841aae260382e2bf5ebb44d765d8c7301d27caab (patch)
tree81a92c25f6dc02e5f119131785d721db79fc3455 /files/ru/web/javascript/reference
parent730fea852ff827ca034fe17c84288c95d270ec92 (diff)
downloadtranslated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.tar.gz
translated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.tar.bz2
translated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.zip
Restore "ё" letter in Russian translation (#239)
* docs(ru): restore ё letter * docs(ru): resolve conflicts * refactor(idea): remove ide folder
Diffstat (limited to 'files/ru/web/javascript/reference')
-rw-r--r--files/ru/web/javascript/reference/classes/constructor/index.html8
-rw-r--r--files/ru/web/javascript/reference/classes/extends/index.html2
-rw-r--r--files/ru/web/javascript/reference/classes/index.html26
-rw-r--r--files/ru/web/javascript/reference/classes/private_class_fields/index.html4
-rw-r--r--files/ru/web/javascript/reference/classes/public_class_fields/index.html2
-rw-r--r--files/ru/web/javascript/reference/classes/static/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/already_has_pragma/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/bad_radix/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/bad_return_or_yield/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/called_on_incompatible_type/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/cant_access_lexical_declaration_before_init/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/cant_access_property/index.html20
-rw-r--r--files/ru/web/javascript/reference/errors/cant_delete/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/cant_redefine_property/index.html8
-rw-r--r--files/ru/web/javascript/reference/errors/cyclic_object_value/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/dead_object/index.html12
-rw-r--r--files/ru/web/javascript/reference/errors/delete_in_strict_mode/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/equal_as_assign/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/getter_only/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/identifier_after_number/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/in_operator_no_object/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/is_not_iterable/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/malformed_formal_parameter/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/missing_bracket_after_list/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/missing_colon_after_property_id/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/missing_curly_after_function_body/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/no_variable_name/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/non_configurable_array_element/index.html10
-rw-r--r--files/ru/web/javascript/reference/errors/not_a_codepoint/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/not_a_constructor/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/not_defined/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/read-only/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/redeclared_parameter/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/reserved_identifier/index.html2
-rw-r--r--files/ru/web/javascript/reference/errors/strict_non_simple_params/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/unexpected_token/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/unexpected_type/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html4
-rw-r--r--files/ru/web/javascript/reference/errors/unterminated_string_literal/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/var_hides_argument/index.html2
-rw-r--r--files/ru/web/javascript/reference/functions/arguments/callee/index.html2
-rw-r--r--files/ru/web/javascript/reference/functions/arguments/index.html8
-rw-r--r--files/ru/web/javascript/reference/functions/arrow_functions/index.html4
-rw-r--r--files/ru/web/javascript/reference/functions/default_parameters/index.html10
-rw-r--r--files/ru/web/javascript/reference/functions/get/index.html8
-rw-r--r--files/ru/web/javascript/reference/functions/method_definitions/index.html2
-rw-r--r--files/ru/web/javascript/reference/functions/set/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/concat/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/every/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/fill/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/filter/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/find/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/flat/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/foreach/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/keys/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/map/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/reduce/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/reverse/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/slice/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/some/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/sort/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/arraybuffer/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/arraybuffer/slice/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/asyncfunction/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/atomics/add/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/atomics/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/atomics/sub/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/bigint/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/setminutes/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/decodeuricomponent/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/encodeuri/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/error/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/escape/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/eval/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/float32array/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/function/bind/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/function/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/function/name/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/generator/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/generator/throw/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/generatorfunction/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/globalthis/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/intl/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/isfinite/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/map/delete/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/map/entries/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/map/foreach/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/map/get/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/map/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/math/sqrt/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/nan/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/null/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/create/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/entries/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/fromentries/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/values/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/parsefloat/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/parseint/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/all/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/any/index.html12
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/catch/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/finally/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/index.html16
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/race/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/reject/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/resolve/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/then/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/reflect/construct/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/reflect/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/n/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/set/delete/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/set/foreach/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/set/set/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/match/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/matchall/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/padend/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/replaceall/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/slice/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/symbol/for/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/symbol/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/typedarray/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/unescape/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/uneval/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/weakmap/clear/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/weakmap/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html2
-rw-r--r--files/ru/web/javascript/reference/global_objects/webassembly/compilestreaming/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/webassembly/index.html22
-rw-r--r--files/ru/web/javascript/reference/global_objects/webassembly/table/index.html14
-rw-r--r--files/ru/web/javascript/reference/iteration_protocols/index.html6
-rw-r--r--files/ru/web/javascript/reference/lexical_grammar/index.html10
-rw-r--r--files/ru/web/javascript/reference/operators/addition/index.html2
-rw-r--r--files/ru/web/javascript/reference/operators/await/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/bitwise_and/index.html2
-rw-r--r--files/ru/web/javascript/reference/operators/comma_operator/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/conditional_operator/index.html12
-rw-r--r--files/ru/web/javascript/reference/operators/delete/index.html20
-rw-r--r--files/ru/web/javascript/reference/operators/in/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/instanceof/index.html2
-rw-r--r--files/ru/web/javascript/reference/operators/new.target/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/new/index.html12
-rw-r--r--files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html2
-rw-r--r--files/ru/web/javascript/reference/operators/object_initializer/index.html22
-rw-r--r--files/ru/web/javascript/reference/operators/optional_chaining/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/pipeline_operator/index.html2
-rw-r--r--files/ru/web/javascript/reference/operators/spread_syntax/index.html12
-rw-r--r--files/ru/web/javascript/reference/operators/this/index.html26
-rw-r--r--files/ru/web/javascript/reference/operators/void/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/async_function/index.html6
-rw-r--r--files/ru/web/javascript/reference/statements/block/index.html4
-rw-r--r--files/ru/web/javascript/reference/statements/class/index.html4
-rw-r--r--files/ru/web/javascript/reference/statements/do...while/index.html4
-rw-r--r--files/ru/web/javascript/reference/statements/empty/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/for-await...of/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/for...in/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/for...of/index.html6
-rw-r--r--files/ru/web/javascript/reference/statements/for/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/import/index.html14
-rw-r--r--files/ru/web/javascript/reference/statements/let/index.html16
-rw-r--r--files/ru/web/javascript/reference/statements/return/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/throw/index.html24
-rw-r--r--files/ru/web/javascript/reference/statements/try...catch/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/var/index.html10
-rw-r--r--files/ru/web/javascript/reference/statements/while/index.html2
-rw-r--r--files/ru/web/javascript/reference/statements/with/index.html2
-rw-r--r--files/ru/web/javascript/reference/strict_mode/index.html24
-rw-r--r--files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html8
189 files changed, 495 insertions, 495 deletions
diff --git a/files/ru/web/javascript/reference/classes/constructor/index.html b/files/ru/web/javascript/reference/classes/constructor/index.html
index 7d7fe14e82..ea52fc5371 100644
--- a/files/ru/web/javascript/reference/classes/constructor/index.html
+++ b/files/ru/web/javascript/reference/classes/constructor/index.html
@@ -70,7 +70,7 @@ try {
<p><code>ValidationError</code> классу не нужен явный (explicit) конструктор, потому что не требуется инициализация. Затем конструктор по умолчанию позаботится о инициализации родительского класса <code>Error</code> переданным ему аргументом.</p>
-<p>Однако, если определен ваш собственный конструктор и ваш класс является производным от какого-либо родительского класса, то вы должны явно объявить конструктор родительского класса, используя <code>super</code>. К примеру:</p>
+<p>Однако, если определён ваш собственный конструктор и ваш класс является производным от какого-либо родительского класса, то вы должны явно объявить конструктор родительского класса, используя <code>super</code>. К примеру:</p>
<pre class="notranslate">class ValidationError extends Error {
@@ -109,7 +109,7 @@ try {
<pre class="brush: js notranslate">class Square extends Polygon {
constructor(length) {
// Здесь вызывается конструктор родительского класса,
- // в который передается length в качестве аргументов,
+ // в который передаётся length в качестве аргументов,
  // соответствующим полям width и height класса Polygon
super(length, length);
// Заметка: В производном классе, super() должен вызываться перед тем как
@@ -152,7 +152,7 @@ console.log(Object.getPrototypeOf(Square.prototype) === Rectangle.prototype); //
let newInstance = new Square();
console.log(newInstance.name); //Polygon</pre>
-<p>Здесь прототип <strong>Square</strong> класса изменен, но в то же время constructor предыдущего базового класса <strong>Polygon</strong> вызывается при создании нового экземпляра <strong>Square</strong>.</p>
+<p>Здесь прототип <strong>Square</strong> класса изменён, но в то же время constructor предыдущего базового класса <strong>Polygon</strong> вызывается при создании нового экземпляра <strong>Square</strong>.</p>
<h3 id="Constructors_по_умолчанию.">Constructors по умолчанию.</h3>
@@ -190,7 +190,7 @@ console.log(newInstance.name); //Polygon</pre>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам запрос на слияние.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам запрос на слияние.</div>
<p>{{Compat("javascript.classes.constructor")}}</p>
diff --git a/files/ru/web/javascript/reference/classes/extends/index.html b/files/ru/web/javascript/reference/classes/extends/index.html
index df642e9e23..d774cc72b0 100644
--- a/files/ru/web/javascript/reference/classes/extends/index.html
+++ b/files/ru/web/javascript/reference/classes/extends/index.html
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Classes/extends
<pre class="brush: js">class Square extends Polygon {
constructor(length) {
// Здесь вызывается конструктор родительского класса,
-  // в который передается свойство length в качестве
+  // в который передаётся свойство length в качестве
  // аргументов, соответствующих полям width и height,
  // класса Polygon
super(length, length);
diff --git a/files/ru/web/javascript/reference/classes/index.html b/files/ru/web/javascript/reference/classes/index.html
index 8711331ffc..8b64f585f0 100644
--- a/files/ru/web/javascript/reference/classes/index.html
+++ b/files/ru/web/javascript/reference/classes/index.html
@@ -68,7 +68,7 @@ console.log(Rectangle.name);
<h2 id="Тело_класса_и_задание_методов">Тело класса и задание методов</h2>
-<p>Тело класса — это часть кода, заключенная в фигурные скобки <code>{}</code>. Здесь вы можете объявлять члены класса, такие как методы и конструктор.</p>
+<p>Тело класса — это часть кода, заключённая в фигурные скобки <code>{}</code>. Здесь вы можете объявлять члены класса, такие как методы и конструктор.</p>
<h3 id="Строгий_режим">Строгий режим</h3>
@@ -154,7 +154,7 @@ Animal.eat() // класс Animal
let eat = Animal.eat;
eat(); // undefined</code></pre>
-<p>Если мы напишем этот же код используя классы основанные на функциях, тогда произойдет автоупаковка основанная на значении <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">this</span></font>, в течение которого функция была вызвана. В строгом режиме автоупаковка не произойдет - значение <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">this</span></font> останется прежним.</p>
+<p>Если мы напишем этот же код используя классы основанные на функциях, тогда произойдёт автоупаковка основанная на значении <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">this</span></font>, в течение которого функция была вызвана. В строгом режиме автоупаковка не произойдёт - значение <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">this</span></font> останется прежним.</p>
<pre class="brush: js notranslate"><code>function Animal() { }
@@ -199,7 +199,7 @@ Rectangle.prototype.prototypeWidth = 25;
<h4 id="Публичные_поля">Публичные поля</h4>
-<p>Используя Javascript синтаксис определения полей, приведенный выше пример может быть изменен следующим образом:</p>
+<p>Используя Javascript синтаксис определения полей, приведённый выше пример может быть изменён следующим образом:</p>
<pre class="notranslate">class Rectangle {
height = 0;
@@ -216,7 +216,7 @@ Rectangle.prototype.prototypeWidth = 25;
<h4 id="Приватные_поля">Приватные поля</h4>
-<p>Предыдущий пример может быть изменен следующим образом, используя приватные поля:</p>
+<p>Предыдущий пример может быть изменён следующим образом, используя приватные поля:</p>
<pre class="notranslate">class Rectangle {
#height = 0;
@@ -233,7 +233,7 @@ Rectangle.prototype.prototypeWidth = 25;
<p>Приватные поля могут быть объявлены только заранее в объявлении поля.</p>
</div>
-<p>Приватные поля не могут быть созданы позже путем присваивания им значения, в отличии от обычных свойств.</p>
+<p>Приватные поля не могут быть созданы позже путём присваивания им значения, в отличии от обычных свойств.</p>
<p>Более подробно об этом написано в <a href="/ru/docs/Web/JavaScript/Reference/Classes/%D0%9F%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8F_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0">Приватные поля класса</a>.</p>
@@ -247,13 +247,13 @@ Rectangle.prototype.prototypeWidth = 25;
}</code>
speak() {
- console.log(`${this.name} издает звук.`);
+ console.log(`${this.name} издаёт звук.`);
}
}
class Dog extends Animal {
constructor(name) {
-  super(name); // вызывает конструктор super класса и передает параметр name
+  super(name); // вызывает конструктор super класса и передаёт параметр name
}
  speak() {
@@ -272,7 +272,7 @@ d.speak(); // Митци лает</code></pre>
this.name = name;
}
Animal.prototype.speak = function () {
- console.log(</code>`${this.name} издает звук.`<code class="language-js">);
+ console.log(</code>`${this.name} издаёт звук.`<code class="language-js">);
}
class Dog extends Animal {
@@ -290,7 +290,7 @@ d.speak(); // Митци лает
<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var Animal = {
speak() {
- console.log(</code>`${this.name} издает звук.`<code class="language-js">);
+ console.log(</code>`${this.name} издаёт звук.`<code class="language-js">);
}
};
@@ -304,7 +304,7 @@ class Dog {
Object.setPrototypeOf(Dog.prototype, Animal);
let d = new Dog('Митци');
-d.speak(); // Митци издает звук.</code></pre>
+d.speak(); // Митци издаёт звук.</code></pre>
<h2 id="Species">Species</h2>
@@ -332,7 +332,7 @@ console.log(mapped instanceof Array); // true</code></pre>
}
speak() {
- console.log(</code>`${this.name} издает звук.`<code class="language-js">);
+ console.log(</code>`${this.name} издаёт звук.`<code class="language-js">);
}
}
@@ -345,7 +345,7 @@ class Lion extends Cat {
let l = new Lion('Фаззи');
l.speak();
-// Фаззи издает звук.
+// Фаззи издаёт звук.
// Фаззи рычит.</code>
</pre>
@@ -396,7 +396,7 @@ class Bar extends calculatorMixin(randomizerMixin(Foo)) { }</code></pre>
<h2 id="Повторное_определение_класа">Повторное определение класа</h2>
-<p>Класс не может быть переопределен. Попытка этого приведет к <code>SyntaxError</code> .</p>
+<p>Класс не может быть переопределён. Попытка этого приведёт к <code>SyntaxError</code> .</p>
<p>Если мы запускаете код в веб браузере, к примеру в Firefox Web Console (<strong>Tools </strong>&gt;<strong> Web Developer </strong>&gt;<strong> Web Console</strong>) и вы используете ('Run') определение класса с одним и тем же именем дважды, вы получите <code>SyntaxError: redeclaration of let <em>ClassName</em>;</code>. (Обсуждение по ошибке можно посмотреть в {{Bug(1428672)}}.) Chrome Developer Tools возвращает сообщение типа <code>Uncaught SyntaxError: Identifier '<em>ClassName</em>' has already been declared at &lt;anonymous&gt;:1:1</code>.</p>
diff --git a/files/ru/web/javascript/reference/classes/private_class_fields/index.html b/files/ru/web/javascript/reference/classes/private_class_fields/index.html
index 78a5d91787..e81a71e738 100644
--- a/files/ru/web/javascript/reference/classes/private_class_fields/index.html
+++ b/files/ru/web/javascript/reference/classes/private_class_fields/index.html
@@ -31,7 +31,7 @@ class ClassWithPrivateStaticField {
<p>Приватные поля доступны в конструкторе класса изнутри самой декларации класса.</p>
-<p>Ограничение статических переменных, вызываемых только статическими методами, все еще сохраняется.</p>
+<p>Ограничение статических переменных, вызываемых только статическими методами, все ещё сохраняется.</p>
<pre class="brush: js notranslate">class ClassWithPrivateStaticField {
  static #PRIVATE_STATIC_FIELD
@@ -139,7 +139,7 @@ console.log(Derived.publicStaticMethod2()); // TypeError
<h4 id="Приватные_методы_экземпляровinstance">Приватные методы экземпляров(instance)</h4>
-<p>Приватные методы экземпляров это методы, доступные у экземпляров класса, доступ к которым запрещен также, как у приватных полей класса.</p>
+<p>Приватные методы экземпляров это методы, доступные у экземпляров класса, доступ к которым запрещён также, как у приватных полей класса.</p>
<pre class="brush: js notranslate">class ClassWithPrivateMethod {
  #privateMethod() {
diff --git a/files/ru/web/javascript/reference/classes/public_class_fields/index.html b/files/ru/web/javascript/reference/classes/public_class_fields/index.html
index ea67222e50..b32dc3d2fc 100644
--- a/files/ru/web/javascript/reference/classes/public_class_fields/index.html
+++ b/files/ru/web/javascript/reference/classes/public_class_fields/index.html
@@ -172,7 +172,7 @@ console.log(instance.publicMethod());
}</pre>
<p>Внутри методов экземпляра, <code>this</code> ссылается на сам экземпляр.<br>
- В классах наследниках, <code>super</code> дает доступ к прототипу базового класса, позволяя вызывать его методы.</p>
+ В классах наследниках, <code>super</code> даёт доступ к прототипу базового класса, позволяя вызывать его методы.</p>
<pre class="brush: js notranslate">class BaseClass {
  msg = 'hello world';
diff --git a/files/ru/web/javascript/reference/classes/static/index.html b/files/ru/web/javascript/reference/classes/static/index.html
index 58ea5996c1..f97c9db2f3 100644
--- a/files/ru/web/javascript/reference/classes/static/index.html
+++ b/files/ru/web/javascript/reference/classes/static/index.html
@@ -116,7 +116,7 @@ console.log(tp.triple());
<h2 id="Поддержка_в_браузерах">Поддержка в браузерах</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам запрос на слияние.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам запрос на слияние.</div>
<p>{{Compat("javascript.classes.static")}}</p>
diff --git a/files/ru/web/javascript/reference/errors/already_has_pragma/index.html b/files/ru/web/javascript/reference/errors/already_has_pragma/index.html
index 5de1095a97..e976c9a07d 100644
--- a/files/ru/web/javascript/reference/errors/already_has_pragma/index.html
+++ b/files/ru/web/javascript/reference/errors/already_has_pragma/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Errors/Already_has_pragma
<p>Для данного источника JavaScript исходная карта была указана несколько раз.</p>
-<p>Источники JavaScript часто объединяются и минимизируются, чтобы сделать их доставку с сервера более эффективной. С помощью сопоставлений исходного кода отладчик может сопоставить выполняемый код с исходными файлами. Существует два способа назначения исходной карты: с помощью комментария или путем установки заголовка для файла JavaScript.</p>
+<p>Источники JavaScript часто объединяются и минимизируются, чтобы сделать их доставку с сервера более эффективной. С помощью сопоставлений исходного кода отладчик может сопоставить выполняемый код с исходными файлами. Существует два способа назначения исходной карты: с помощью комментария или путём установки заголовка для файла JavaScript.</p>
<p> </p>
diff --git a/files/ru/web/javascript/reference/errors/bad_radix/index.html b/files/ru/web/javascript/reference/errors/bad_radix/index.html
index b3e84de1e7..c4cc82a20b 100644
--- a/files/ru/web/javascript/reference/errors/bad_radix/index.html
+++ b/files/ru/web/javascript/reference/errors/bad_radix/index.html
@@ -25,7 +25,7 @@ RangeError: toString() radix argument must be between 2 and 36 (Chrome)
<p><span class="notranslate">Почему значение этого параметра не может быть больше, чем 36? Для оснований</span><span class="notranslate">, превышающих 10, в качестве цифр используются алфавитные символы;</span> <span class="notranslate"> следовательно, основание не может быть больше 36, поскольку в латинском алфавите (используемом английским и многими другими языками) только 26 символов.</span></p>
-<p><span class="notranslate">Наиболее распространенные основания систем счисления:</span></p>
+<p><span class="notranslate">Наиболее распространённые основания систем счисления:</span></p>
<ul>
<li>2 для <a href="https://ru.wikipedia.org/wiki/Двоичная_система_счисления">двоичных чисел</a>,</li>
diff --git a/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html
index 549b5ae654..c5c63a7200 100644
--- a/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html
+++ b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html
@@ -17,7 +17,7 @@ SyntaxError: Invalid regular expression flags (Chrome)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключенный между двумя слешами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функции {{jsxref("RegExp")}} object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очередности, но в ECMAScript их только пять.</p>
+<p>В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключённый между двумя слешами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функции {{jsxref("RegExp")}} object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очерёдности, но в ECMAScript их только пять.</p>
<p>Чтоб включить флаг в регулярное выражение, используйте синтаксис:</p>
diff --git a/files/ru/web/javascript/reference/errors/bad_return_or_yield/index.html b/files/ru/web/javascript/reference/errors/bad_return_or_yield/index.html
index dd69cb3167..17a6e16436 100644
--- a/files/ru/web/javascript/reference/errors/bad_return_or_yield/index.html
+++ b/files/ru/web/javascript/reference/errors/bad_return_or_yield/index.html
@@ -22,7 +22,7 @@ SyntaxError: yield not in function (Firefox)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Вызов оператора <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/return">return</a></code> или <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/yield">yield</a></code> был осуществлен вне <a href="/ru/docs/Web/JavaScript/Guide/Functions">функции</a>. Может, где-то пропущена фигурная скобка? Операторы <code>return</code> и <code>yield</code> не могут существовать вне функции, поскольку они завершают (или останавливают и возобновляют) её исполнение и указывают значение, возвращаемое в место, откуда она была вызвана.</p>
+<p>Вызов оператора <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/return">return</a></code> или <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/yield">yield</a></code> был осуществлён вне <a href="/ru/docs/Web/JavaScript/Guide/Functions">функции</a>. Может, где-то пропущена фигурная скобка? Операторы <code>return</code> и <code>yield</code> не могут существовать вне функции, поскольку они завершают (или останавливают и возобновляют) её исполнение и указывают значение, возвращаемое в место, откуда она была вызвана.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/errors/called_on_incompatible_type/index.html b/files/ru/web/javascript/reference/errors/called_on_incompatible_type/index.html
index 0d309530e6..9c1182eb7c 100644
--- a/files/ru/web/javascript/reference/errors/called_on_incompatible_type/index.html
+++ b/files/ru/web/javascript/reference/errors/called_on_incompatible_type/index.html
@@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Errors/Called_on_incompatible_type
<pre class="syntaxbox">TypeError: 'this' не является Set объектом (EdgE)
TypeError: Function.prototype.toString вызывается несовместимый объект (Firefox)
TypeError: Function.prototype.bind вызывается несовместимая цель (Firefox)
-TypeError: Метод Set.prototype.add called вызывается несовместимый приемник undefined (Chrome)
+TypeError: Метод Set.prototype.add called вызывается несовместимый приёмник undefined (Chrome)
TypeError: Bind должен вызываться для функции(Chrome)
</pre>
diff --git a/files/ru/web/javascript/reference/errors/cant_access_lexical_declaration_before_init/index.html b/files/ru/web/javascript/reference/errors/cant_access_lexical_declaration_before_init/index.html
index e5c0553e8a..294f115dac 100644
--- a/files/ru/web/javascript/reference/errors/cant_access_lexical_declaration_before_init/index.html
+++ b/files/ru/web/javascript/reference/errors/cant_access_lexical_declaration_before_init/index.html
@@ -21,7 +21,7 @@ ReferenceError: 'x' is not defined (Chrome)
<h2 id="Что_случилось">Что случилось?</h2>
-<p>Попытка доступа к лексической переменной до ее инициализации. Это может произойти в любом блоке, если попытаться обратиться к переменной, объявленной с помощью ключевых слов <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></code> или <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> до того, как им было присвоено значение.</p>
+<p>Попытка доступа к лексической переменной до её инициализации. Это может произойти в любом блоке, если попытаться обратиться к переменной, объявленной с помощью ключевых слов <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></code> или <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> до того, как им было присвоено значение.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/errors/cant_access_property/index.html b/files/ru/web/javascript/reference/errors/cant_access_property/index.html
index df4ab49b2a..01d353480c 100644
--- a/files/ru/web/javascript/reference/errors/cant_access_property/index.html
+++ b/files/ru/web/javascript/reference/errors/cant_access_property/index.html
@@ -1,6 +1,6 @@
---
title: >-
- TypeError: can't access property "x" of "y"(Тип ошибки: не удается получить
+ TypeError: can't access property "x" of "y"(Тип ошибки: не удаётся получить
доступ к свойству "x" из "y")
slug: Web/JavaScript/Reference/Errors/Cant_access_property
translation_of: Web/JavaScript/Reference/Errors/Cant_access_property
@@ -9,16 +9,16 @@ translation_of: Web/JavaScript/Reference/Errors/Cant_access_property
<h2 id="Message">Message</h2>
-<pre class="syntaxbox">TypeError: не удается получить свойство {x} неопределенной или нулевой ссылки (Edge)
-TypeError: не удается получить доступ к свойству {x} of {y} (Firefox)
-TypeError: {y} не определен, не может получить доступ к свойству {x} (Firefox)
+<pre class="syntaxbox">TypeError: не удаётся получить свойство {x} неопределённой или нулевой ссылки (Edge)
+TypeError: не удаётся получить доступ к свойству {x} of {y} (Firefox)
+TypeError: {y} не определён, не может получить доступ к свойству {x} (Firefox)
TypeError: {y} имеет значение null, не может получить доступ к свойству {x} (Firefox)
Образцы:
-TypeError: x не определен, не может получить доступ к свойству "prop"
+TypeError: x не определён, не может получить доступ к свойству "prop"
TypeError: x имеет значение null, не может получить доступ к свойству "prop"
-TypeError: не удается получить доступ к свойству "prop" неопределенного
-TypeError: не удается получить доступ к свойству "prop" значения null
+TypeError: не удаётся получить доступ к свойству "prop" неопределённого
+TypeError: не удаётся получить доступ к свойству "prop" значения null
</pre>
@@ -36,7 +36,7 @@ TypeError: не удается получить доступ к свойству
<pre class="brush: js example-bad">// undefined and null cases on which the substring method won't work
var foo = undefined;
-foo.substring(1); // TypeError: x не определен, не может получить доступ к свойству substring
+foo.substring(1); // TypeError: x не определён, не может получить доступ к свойству substring
var foo = null;
foo.substring(1); // TypeError: x имеет значение null, не может получить доступ к свойству substring
@@ -44,10 +44,10 @@ foo.substring(1); // TypeError: x имеет значение null, не мож
<h3 id="Исправление_проблемы">Исправление проблемы</h3>
-<p>Чтобы исправить указатель null на неопределенные или нулевые значения, можно использовать оператор typeof, например.</p>
+<p>Чтобы исправить указатель null на неопределённые или нулевые значения, можно использовать оператор typeof, например.</p>
<pre class="brush: js">if (typeof foo !== 'undefined') {
- // Теперь мы знаем, что foo определен.
+ // Теперь мы знаем, что foo определён.
}</pre>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/javascript/reference/errors/cant_delete/index.html b/files/ru/web/javascript/reference/errors/cant_delete/index.html
index 88dd78272d..ecdfb8cc30 100644
--- a/files/ru/web/javascript/reference/errors/cant_delete/index.html
+++ b/files/ru/web/javascript/reference/errors/cant_delete/index.html
@@ -9,9 +9,9 @@ translation_of: Web/JavaScript/Reference/Errors/Cant_delete
<h2 id="Сообщение">Сообщение</h2>
-<pre class="syntaxbox">TypeError: вызов delete на 'x' не разрешен в строгом режиме (Edge)
+<pre class="syntaxbox">TypeError: вызов delete на 'x' не разрешён в строгом режиме (Edge)
TypeError: свойство "x" не настраивается и не может быть удалено. (браузер Firefox)
-TypeError: не удается удалить свойство "x" из #&lt;Object&gt; (Chrome)
+TypeError: не удаётся удалить свойство "x" из #&lt;Object&gt; (Chrome)
</pre>
<h2 id="Тип_ошибки">Тип ошибки</h2>
diff --git a/files/ru/web/javascript/reference/errors/cant_redefine_property/index.html b/files/ru/web/javascript/reference/errors/cant_redefine_property/index.html
index f164596b55..caf464a65f 100644
--- a/files/ru/web/javascript/reference/errors/cant_redefine_property/index.html
+++ b/files/ru/web/javascript/reference/errors/cant_redefine_property/index.html
@@ -1,6 +1,6 @@
---
title: >-
- TypeError: can't redefine non-configurable property "x"(Тип ошибки: не удается
+ TypeError: can't redefine non-configurable property "x"(Тип ошибки: не удаётся
переопределить настраиваемое свойство "x")
slug: Web/JavaScript/Reference/Errors/Cant_redefine_property
translation_of: Web/JavaScript/Reference/Errors/Cant_redefine_property
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Errors/Cant_redefine_property
<pre class="syntaxbox">TypeError: невозможно изменить свойство, недоступное для записи {x} (Edge)
TypeError: невозможно переопределить не настраиваемое свойство "x" (Firefox)
-TypeError: не удается переопределить свойство: "x" (Chrome)
+TypeError: не удаётся переопределить свойство: "x" (Chrome)
</pre>
<h2 id="Тип_ошибки">Тип ошибки </h2>
@@ -26,13 +26,13 @@ TypeError: не удается переопределить свойство: "x
<h3 id="Не_настраиваемые_свойства_созданные_Object.defineProperty">Не настраиваемые свойства, созданные <code>Object.defineProperty</code></h3>
-<p>The {{jsxref("Object.defineProperty()")}} создает не настраиваемые свойства, если они не указаны как настраиваемые.</p>
+<p>The {{jsxref("Object.defineProperty()")}} создаёт не настраиваемые свойства, если они не указаны как настраиваемые.</p>
<pre class="brush: js example-bad">var obj = Object.create({});
Object.defineProperty(obj, "foo", {value: "bar"});
Object.defineProperty(obj, "foo", {value: "baz"});
-// TypeError: не удается переопределить не настраиваемое свойство "foo"
+// TypeError: не удаётся переопределить не настраиваемое свойство "foo"
</pre>
<p>Вам нужно будет установить свойство "foo" в конфигурируемое, если вы собираетесь переопределить его позже в коде.</p>
diff --git a/files/ru/web/javascript/reference/errors/cyclic_object_value/index.html b/files/ru/web/javascript/reference/errors/cyclic_object_value/index.html
index cfbf6eb56c..7eecd4634b 100644
--- a/files/ru/web/javascript/reference/errors/cyclic_object_value/index.html
+++ b/files/ru/web/javascript/reference/errors/cyclic_object_value/index.html
@@ -66,5 +66,5 @@ JSON.stringify(circularReference, getCircularReplacer());
<ul>
<li>{{jsxref("JSON.stringify")}}</li>
- <li><a href="https://github.com/douglascrockford/JSON-js/blob/master/cycle.js">cycle.js</a> – вводит две функции, JSON.decycle и JSON.retrocycle, что дает возможность кодирования и декодирования циклических структур и групп обеспечения доступности баз данных в расширенный и обратно совместимый формат JSON.</li>
+ <li><a href="https://github.com/douglascrockford/JSON-js/blob/master/cycle.js">cycle.js</a> – вводит две функции, JSON.decycle и JSON.retrocycle, что даёт возможность кодирования и декодирования циклических структур и групп обеспечения доступности баз данных в расширенный и обратно совместимый формат JSON.</li>
</ul>
diff --git a/files/ru/web/javascript/reference/errors/dead_object/index.html b/files/ru/web/javascript/reference/errors/dead_object/index.html
index de666b01d8..7ce56344d0 100644
--- a/files/ru/web/javascript/reference/errors/dead_object/index.html
+++ b/files/ru/web/javascript/reference/errors/dead_object/index.html
@@ -1,7 +1,7 @@
---
title: >-
- TypeError: can't access dead object (Тип ошибки:не удается получить доступ к
- мертвому объекту)
+ TypeError: can't access dead object (Тип ошибки:не удаётся получить доступ к
+ мёртвому объекту)
slug: Web/JavaScript/Reference/Errors/Dead_object
translation_of: Web/JavaScript/Reference/Errors/Dead_object
---
@@ -18,9 +18,9 @@ translation_of: Web/JavaScript/Reference/Errors/Dead_object
<h2 id="Что_не_так">Что не так?</h2>
-<p>Для улучшения использования памяти и предотвращения утечек памяти Firefox запрещает надстройкам сохранять строгие ссылки на объекты DOM после уничтожения родительского документа. Мертвый объект содержит сильную ссылку (keep alive) на элемент DOM, который сохраняется даже после того, как он был уничтожен в DOM. Чтобы избежать этих проблем, ссылки на узлы DOM во внешнем документе должны храниться в объекте, который относится к этому документу, и очищаться при выгрузке документа или храниться как слабые ссылки.</p>
+<p>Для улучшения использования памяти и предотвращения утечек памяти Firefox запрещает надстройкам сохранять строгие ссылки на объекты DOM после уничтожения родительского документа. Мёртвый объект содержит сильную ссылку (keep alive) на элемент DOM, который сохраняется даже после того, как он был уничтожен в DOM. Чтобы избежать этих проблем, ссылки на узлы DOM во внешнем документе должны храниться в объекте, который относится к этому документу, и очищаться при выгрузке документа или храниться как слабые ссылки.</p>
-<h2 id="Проверка_если_объект_мертв">Проверка, если объект мертв</h2>
+<h2 id="Проверка_если_объект_мёртв">Проверка, если объект мёртв</h2>
<p><a href="/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils">Components.utils</a> предлагает <code>isDeadWrapper()</code>метод, который может использовать привилегированный код. <br>
 </p>
@@ -41,8 +41,8 @@ catch (e) {
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
- <li><a href="https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/">What does “can’t access dead object” mean?</a>(Что значит “не могу получить доступ к мертвому объекту”?)</li>
- <li><a href="/en-US/docs/Extensions/Common_causes_of_memory_leaks_in_extensions">Common causes of memory leaks in extensions</a>(Распространенные причины утечек памяти в расширениях)</li>
+ <li><a href="https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/">What does “can’t access dead object” mean?</a>(Что значит “не могу получить доступ к мёртвому объекту”?)</li>
+ <li><a href="/en-US/docs/Extensions/Common_causes_of_memory_leaks_in_extensions">Common causes of memory leaks in extensions</a>(Распространённые причины утечек памяти в расширениях)</li>
<li><a href="/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils">Components.utils</a></li>
<li><a href="/en-US/docs/Mozilla/Zombie_compartments">Zombie Compartments</a></li>
</ul>
diff --git a/files/ru/web/javascript/reference/errors/delete_in_strict_mode/index.html b/files/ru/web/javascript/reference/errors/delete_in_strict_mode/index.html
index ed6a768e94..06f348e5b2 100644
--- a/files/ru/web/javascript/reference/errors/delete_in_strict_mode/index.html
+++ b/files/ru/web/javascript/reference/errors/delete_in_strict_mode/index.html
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Errors/Delete_in_strict_mode
<h2 id="Сообщение">Сообщение</h2>
-<pre class="syntaxbox">SyntaxError: вызов delete on expression запрещен в строгом режиме в (Edge)
+<pre class="syntaxbox">SyntaxError: вызов delete on expression запрещён в строгом режиме в (Edge)
SyntaxError: применение оператора 'delete' к неполному имени не рекомендуется в (Firefox)
SyntaxError: удаление неполного идентификатора в строгом режиме запрещено в (Chrome)
</pre>
@@ -33,7 +33,7 @@ SyntaxError: удаление неполного идентификатора в
<h2 id="Примеры">Примеры</h2>
-<p>Попытка удалить простую переменную не работает в JavaScript и выдает ошибку в строгом режиме:</p>
+<p>Попытка удалить простую переменную не работает в JavaScript и выдаёт ошибку в строгом режиме:</p>
<pre class="brush: js example-bad">'use strict';
@@ -46,7 +46,7 @@ delete x;
// SyntaxError: применение оператора 'delete' к неполному имени является устаревшим
</pre>
-<p>Чтобы освободить содержимое переменной, задайте для нее значение {{jsxref("null")}}:</p>
+<p>Чтобы освободить содержимое переменной, задайте для неё значение {{jsxref("null")}}:</p>
<pre class="brush: js example-good">'use strict';
diff --git a/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html b/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html
index 7e89e085df..1e5ea400a1 100644
--- a/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html
+++ b/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Errors/Deprecated_expression_closures
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Нестандартный синтаксис закрытия выражений (сокращенный синтаксис функций) устарел и больше не должен использоваться. Этот синтаксис будет полностью удален в Этот синтаксис будет полностью удален в {{bug(1083458)}} а скрипты с его помощью {{jsxref("SyntaxError")}} затем.</p>
+<p>Нестандартный синтаксис закрытия выражений (сокращённый синтаксис функций) устарел и больше не должен использоваться. Этот синтаксис будет полностью удалён в Этот синтаксис будет полностью удалён в {{bug(1083458)}} а скрипты с его помощью {{jsxref("SyntaxError")}} затем.</p>
<h2 id="Примеры">Примеры</h2>
@@ -49,7 +49,7 @@ var obj = {
<pre class="brush: js example-good">var x = () =&gt; 1;</pre>
-<h3 id="Стандартный_синтаксис_с_использованием_сокращенного_синтаксиса_метода">Стандартный синтаксис с использованием сокращенного синтаксиса метода</h3>
+<h3 id="Стандартный_синтаксис_с_использованием_сокращённого_синтаксиса_метода">Стандартный синтаксис с использованием сокращённого синтаксиса метода</h3>
<p>Замыкания выражений также можно найти с помощью getter'а и setter'а, например:</p>
diff --git a/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html b/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html
index 9bfa3ffb6c..84c437a28d 100644
--- a/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html
+++ b/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Errors/Deprecated_String_generics
---
<div>{{jsSidebar("Errors")}}</div>
-<div>Поддержка строковых обобщенных методов прекращена с версии Firefox 68. Более старые версии предупреждают об использовании данных методов следующим образом:</div>
+<div>Поддержка строковых обобщённых методов прекращена с версии Firefox 68. Более старые версии предупреждают об использовании данных методов следующим образом:</div>
<h2 id="Сообщение">Сообщение</h2>
@@ -45,7 +45,7 @@ Warning: String.trimRight is deprecated; use String.prototype.trimRight
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Нестандартные обобщенные методы {{jsxref("String")}} являются устаревшими, поддержка в Firefox прекращена, начиная с версии 68. Строковые обобщенные методы предоставляют возможность применять методы экземпляров <code>String</code> к любым объектам.</p>
+<p>Нестандартные обобщённые методы {{jsxref("String")}} являются устаревшими, поддержка в Firefox прекращена, начиная с версии 68. Строковые обобщённые методы предоставляют возможность применять методы экземпляров <code>String</code> к любым объектам.</p>
<h2 id="Примеры">Примеры</h2>
@@ -62,7 +62,7 @@ String(num).replace(/5/, '2');
<h2 id="Прослойка">Прослойка</h2>
-<p>Ниже приведен код прослойки, с помощью которой можно добавить поддержку обобщенных методов String в другие браузеры:</p>
+<p>Ниже приведён код прослойки, с помощью которой можно добавить поддержку обобщённых методов String в другие браузеры:</p>
<pre class="brush: js">/*globals define*/
// Предполагаем, что все требуемые методы экземпляров String уже присутствуют
diff --git a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html
index c90ca639e7..e843b0c45f 100644
--- a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html
+++ b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Errors/Deprecated_toLocaleFormat
<h3 id="Неправильный_синтаксис">Неправильный синтаксис</h3>
-<p>В {{jsxref("Date.prototype.toLocaleFormat")}} метод устарел и будет удален (поддержка кроссбраузерных браузеров, доступна только в Firefox).</p>
+<p>В {{jsxref("Date.prototype.toLocaleFormat")}} метод устарел и будет удалён (поддержка кроссбраузерных браузеров, доступна только в Firefox).</p>
<pre class="brush: js example-bad">var today = new Date();
var date = today.toLocaleFormat('%A, %e. %B %Y');
@@ -34,7 +34,7 @@ console.log(date);
<h3 id="Альтернативный_стандартный_синтаксис_с_использованием_ECMAScript_IntlAPI">Альтернативный стандартный синтаксис с использованием ECMAScript IntlAPI</h3>
-<p>Стандарт ECMA-402 (ECMAScript Intl API) определяет стандартные объекты и методы, которые позволяют форматировать дату и время с учетом языка (доступно в Chrome 24+, Firefox 29+, IE11+, Safari10+).</p>
+<p>Стандарт ECMA-402 (ECMAScript Intl API) определяет стандартные объекты и методы, которые позволяют форматировать дату и время с учётом языка (доступно в Chrome 24+, Firefox 29+, IE11+, Safari10+).</p>
<p>You can now either use the {{jsxref("Date.prototype.toLocaleDateString")}} method if you just want to format one date.</p>
diff --git a/files/ru/web/javascript/reference/errors/equal_as_assign/index.html b/files/ru/web/javascript/reference/errors/equal_as_assign/index.html
index 4219e825ba..1bea6c1135 100644
--- a/files/ru/web/javascript/reference/errors/equal_as_assign/index.html
+++ b/files/ru/web/javascript/reference/errors/equal_as_assign/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Errors/Equal_as_assign
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Было присвоение ( = ), когда вы обычно ожидали тест на присвоение (==). Чтобы помочь отладке, JavaScript (с включенными строгими предупреждениями) предупреждает об этом шаблоне.</p>
+<p>Было присвоение ( = ), когда вы обычно ожидали тест на присвоение (==). Чтобы помочь отладке, JavaScript (с включёнными строгими предупреждениями) предупреждает об этом шаблоне.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html b/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html
index d9a8f5ae2c..d44d147e44 100644
--- a/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html
+++ b/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>JavaScript 1.6's {{jsxref("Statements/for_each...in", "for each (variable in obj)")}} оператор устарел и будет удален в ближайшем будущем.</p>
+<p>JavaScript 1.6's {{jsxref("Statements/for_each...in", "for each (variable in obj)")}} оператор устарел и будет удалён в ближайшем будущем.</p>
<h2 id="Примеры">Примеры</h2>
@@ -121,7 +121,7 @@ func(undefined); // prints nothing
<h4 id="Неправильный_синтаксис">Неправильный синтаксис</h4>
-<p>Существует устаревшая идиома для итерации по парам ключ-значение указанного объекта с помощью {{jsxref("Statements/for_each...in", "for each...in")}} и осужденный {{jsxref("Iterator")}} объект.</p>
+<p>Существует устаревшая идиома для итерации по парам ключ-значение указанного объекта с помощью {{jsxref("Statements/for_each...in", "for each...in")}} и осуждённый {{jsxref("Iterator")}} объект.</p>
<pre class="brush: js example-bad">var object = { a: 10, b: 20 };
diff --git a/files/ru/web/javascript/reference/errors/getter_only/index.html b/files/ru/web/javascript/reference/errors/getter_only/index.html
index 9dc64f048f..c7fd7169f9 100644
--- a/files/ru/web/javascript/reference/errors/getter_only/index.html
+++ b/files/ru/web/javascript/reference/errors/getter_only/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Errors/Getter_only
<pre class="syntaxbox">TypeError: назначение свойств только для чтения не допускается в строгом режиме (Edge)
TypeError: установка свойства только для геттера "x" (Firefox)
-TypeError: не удается установить свойство "prop" из #&lt;Object&gt;, который имеет только геттер (Chrome)
+TypeError: не удаётся установить свойство "prop" из #&lt;Object&gt;, который имеет только геттер (Chrome)
</pre>
@@ -25,7 +25,7 @@ TypeError: не удается установить свойство "prop" из
<h2 id="Примеры">Примеры</h2>
-<p>В приведенном ниже примере показано, как установить getter для свойства. Он не задает сеттер, так TypeError выдается при попытке установить свойство температуры до 30. Дополнительные сведения см. Также в {{jsxref("Object.defineProperty()")}} странице.</p>
+<p>В приведённом ниже примере показано, как установить getter для свойства. Он не задаёт сеттер, так TypeError выдаётся при попытке установить свойство температуры до 30. Дополнительные сведения см. Также в {{jsxref("Object.defineProperty()")}} странице.</p>
<pre class="brush: js example-bad">"use strict";
@@ -45,7 +45,7 @@ arc.temperature; // 'get!'
arc.temperature = 30;
// TypeError: setting getter-only property "temperature"</pre>
-<p>Чтобы устранить эту ошибку, необходимо либо удалить строку 16, в которой предпринята попытка задать свойство temperature, либо реализовать для нее сеттер, например, как показано ниже:</p>
+<p>Чтобы устранить эту ошибку, необходимо либо удалить строку 16, в которой предпринята попытка задать свойство temperature, либо реализовать для неё сеттер, например, как показано ниже:</p>
<pre class="brush: js example-good highlight[12]">"use strict";
diff --git a/files/ru/web/javascript/reference/errors/identifier_after_number/index.html b/files/ru/web/javascript/reference/errors/identifier_after_number/index.html
index 71cdda791f..af7eae5389 100644
--- a/files/ru/web/javascript/reference/errors/identifier_after_number/index.html
+++ b/files/ru/web/javascript/reference/errors/identifier_after_number/index.html
@@ -22,9 +22,9 @@ SyntaxError: непредвиденное число (Chrome)
<p> </p>
-<p>Имена переменных, называемых {{Glossary("Identifier", "identifiers")}} соответствуют определенным правилам, которых должен придерживаться ваш код!</p>
+<p>Имена переменных, называемых {{Glossary("Identifier", "identifiers")}} соответствуют определённым правилам, которых должен придерживаться ваш код!</p>
-<p>Идентификатор JavaScript должен начинаться с буквы, символа подчеркивания ( _ ) или знака доллара ($). Они не могут начать с цифры! Только последующие символы могут быть цифрами (0-9).</p>
+<p>Идентификатор JavaScript должен начинаться с буквы, символа подчёркивания ( _ ) или знака доллара ($). Они не могут начать с цифры! Только последующие символы могут быть цифрами (0-9).</p>
<p> </p>
diff --git a/files/ru/web/javascript/reference/errors/in_operator_no_object/index.html b/files/ru/web/javascript/reference/errors/in_operator_no_object/index.html
index a61a8d5f41..9563af464e 100644
--- a/files/ru/web/javascript/reference/errors/in_operator_no_object/index.html
+++ b/files/ru/web/javascript/reference/errors/in_operator_no_object/index.html
@@ -1,6 +1,6 @@
---
title: >-
- TypeError: cannot use 'in' operator to search for 'x' in 'y'(не удается
+ TypeError: cannot use 'in' operator to search for 'x' in 'y'(не удаётся
использовать 'in' оператор поиска для 'x' в 'y')
slug: Web/JavaScript/Reference/Errors/in_operator_no_object
translation_of: Web/JavaScript/Reference/Errors/in_operator_no_object
@@ -43,7 +43,7 @@ TypeError: невозможно использовать оператор 'in'
<pre class="brush: js example-bad">var foo = null;
"bar" in foo;
-// TypeError: не удается использовать оператор 'in' для поиска 'bar' в 'foo' (Chrome)
+// TypeError: не удаётся использовать оператор 'in' для поиска 'bar' в 'foo' (Chrome)
// TypeError: правая часть 'in' должна быть объектом, полученным null (Firefox)
</pre>
diff --git a/files/ru/web/javascript/reference/errors/index.html b/files/ru/web/javascript/reference/errors/index.html
index 21d076dbdc..41b34e5478 100644
--- a/files/ru/web/javascript/reference/errors/index.html
+++ b/files/ru/web/javascript/reference/errors/index.html
@@ -8,9 +8,9 @@ translation_of: Web/JavaScript/Reference/Errors
---
<p>{{jsSidebar("Errors")}}</p>
-<p>Ниже, Вы найдете список ошибок, которые возвращает JavaScript. Эти ошибки могут быть полезны при отладке, но неполадки не всегда сразу понятны. Страницы ниже  предлагают дополнительную информацию об этих ошибках. Каждая ошибка это Объект на основании {{jsxref("Error")}} object, и имеет имя (<code>name)</code> и сообщение (<code>message)</code>.</p>
+<p>Ниже, Вы найдёте список ошибок, которые возвращает JavaScript. Эти ошибки могут быть полезны при отладке, но неполадки не всегда сразу понятны. Страницы ниже  предлагают дополнительную информацию об этих ошибках. Каждая ошибка это Объект на основании {{jsxref("Error")}} object, и имеет имя (<code>name)</code> и сообщение (<code>message)</code>.</p>
-<p>Ошибки отображенные в Web консоли могут содержать ссылку на соответствующую страницу ниже, чтобы помочь вам быстро понять проблему в коде.</p>
+<p>Ошибки отображённые в Web консоли могут содержать ссылку на соответствующую страницу ниже, чтобы помочь вам быстро понять проблему в коде.</p>
<h2 id="Список_ошибок">Список ошибок</h2>
diff --git a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html
index d658f57b73..710aa435f8 100644
--- a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html
+++ b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html
@@ -19,7 +19,7 @@ TypeError: повторное объявление const 'x' (IE)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Константа-это значение, которое не может быть изменено программой в обычном исполнении. Он не может быть изменен путем повторного назначения и не может быть повторно объявлен. В JavaScript, константы объявляются с помощью ключевого слова const.</p>
+<p>Константа-это значение, которое не может быть изменено программой в обычном исполнении. Он не может быть изменён путём повторного назначения и не может быть повторно объявлен. В JavaScript, константы объявляются с помощью ключевого слова const.</p>
<h2 id="Примеры">Примеры</h2>
@@ -67,7 +67,7 @@ function setupBigScreenEnvironment() {
<h3 id="const_и_неизменность"><code>const</code> и неизменность</h3>
-<p>Объявление const создает ссылку только для чтения на значение. Это не означает, что значение, которое он содержит, является неизменяемым, просто идентификатор переменной не может быть переназначен. Например, если содержимое является объектом, это означает, что сам объект все еще может быть изменен. Это означает, что нельзя изменить значение, хранящееся в переменной:</p>
+<p>Объявление const создаёт ссылку только для чтения на значение. Это не означает, что значение, которое он содержит, является неизменяемым, просто идентификатор переменной не может быть переназначен. Например, если содержимое является объектом, это означает, что сам объект все ещё может быть изменён. Это означает, что нельзя изменить значение, хранящееся в переменной:</p>
<pre class="brush: js example-bad">const obj = {foo: 'bar'};
obj = {foo: 'baz'}; // TypeError: invalid assignment to const `obj'
diff --git a/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html b/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html
index f9e91b0a53..9f0b68e84c 100644
--- a/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html
+++ b/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html
@@ -22,11 +22,11 @@ SyntaxError: объявление переменной цикла for-in мож
<h2 id="Что_пошло_не так">Что пошло не так?</h2>
-<p>Глава цикла <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a> содержит выражение инициализатора. То есть переменная объявляется и присваивается значение <code>|for (var i = 0 in obj)|</code>. В нестрогом режиме это объявление head игнорируется и ведет себя как <code>|for (var i in obj)|</code>. Однако в строгом режиме создается синтаксическая ошибка.</p>
+<p>Глава цикла <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a> содержит выражение инициализатора. То есть переменная объявляется и присваивается значение <code>|for (var i = 0 in obj)|</code>. В нестрогом режиме это объявление head игнорируется и ведёт себя как <code>|for (var i in obj)|</code>. Однако в строгом режиме создаётся синтаксическая ошибка.</p>
<h2 id="Примеры">Примеры</h2>
-<p>Данный пример дает SyntaxError:</p>
+<p>Данный пример даёт SyntaxError:</p>
<pre class="brush: js example-bad">"use strict";
diff --git a/files/ru/web/javascript/reference/errors/is_not_iterable/index.html b/files/ru/web/javascript/reference/errors/is_not_iterable/index.html
index c084aac4e3..5e2823d3c1 100644
--- a/files/ru/web/javascript/reference/errors/is_not_iterable/index.html
+++ b/files/ru/web/javascript/reference/errors/is_not_iterable/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Errors/is_not_iterable
<h2 id="Сообщение">Сообщение</h2>
<pre class="syntaxbox">TypeError: "x" не является итерационным (Firefox, Chrome)
-TypeError: 'x' не является функцией или ее возвращаемое значение не является итерационным (Chrome)
+TypeError: 'x' не является функцией или её возвращаемое значение не является итерационным (Chrome)
</pre>
<h2 id="Тип_ошибки">Тип ошибки</h2>
@@ -17,7 +17,7 @@ TypeError: 'x' не является функцией или ее возвращ
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Значение, которое дается как правая сторона for...of или как аргумент функции, такой как {{jsxref("Promise.all")}} или {{jsxref("TypedArray.from")}}, не является итерационным объектом.  Повторяемое может быть, встроенный итератор типа, такие как {{jsxref("Array")}}, {{jsxref("String")}} или {{jsxref("Map")}}, генератор результатом, или объект, реализующий итератор протокол.</p>
+<p>Значение, которое даётся как правая сторона for...of или как аргумент функции, такой как {{jsxref("Promise.all")}} или {{jsxref("TypedArray.from")}}, не является итерационным объектом.  Повторяемое может быть, встроенный итератор типа, такие как {{jsxref("Array")}}, {{jsxref("String")}} или {{jsxref("Map")}}, генератор результатом, или объект, реализующий итератор протокол.</p>
<h2 id="Примеры">Примеры</h2>
@@ -77,7 +77,7 @@ for (let x of generate) // TypeError: генерация не является
console.log(x);
</pre>
-<p>Если они не вызываются, то объект {{jsxref("Function")}}, соответствующий генератору, можно вызвать, но нельзя выполнить итерацию. Вызов генератора создает итерационный объект, который будет выполнять итерацию по значениям, полученным во время выполнения генератора.</p>
+<p>Если они не вызываются, то объект {{jsxref("Function")}}, соответствующий генератору, можно вызвать, но нельзя выполнить итерацию. Вызов генератора создаёт итерационный объект, который будет выполнять итерацию по значениям, полученным во время выполнения генератора.</p>
<pre class="brush: js example-good">function* generate(a, b) {
yield a;
diff --git a/files/ru/web/javascript/reference/errors/malformed_formal_parameter/index.html b/files/ru/web/javascript/reference/errors/malformed_formal_parameter/index.html
index 5e65f8c633..f848e5486d 100644
--- a/files/ru/web/javascript/reference/errors/malformed_formal_parameter/index.html
+++ b/files/ru/web/javascript/reference/errors/malformed_formal_parameter/index.html
@@ -39,7 +39,7 @@ var f = Function('x,', 'return x;');
// SyntaxError (лишняя запятая)
var f = Function(37, "alert('OK')");
-// SyntaxError (числа не могут использоваться в качестве имен аргументов)
+// SyntaxError (числа не могут использоваться в качестве имён аргументов)
</pre>
<h3 id="Правильный_код">Правильный код</h3>
diff --git a/files/ru/web/javascript/reference/errors/missing_bracket_after_list/index.html b/files/ru/web/javascript/reference/errors/missing_bracket_after_list/index.html
index 32035a2365..12acf53f79 100644
--- a/files/ru/web/javascript/reference/errors/missing_bracket_after_list/index.html
+++ b/files/ru/web/javascript/reference/errors/missing_bracket_after_list/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_bracket_after_list
<h2 id="Примеры">Примеры</h2>
-<h3 id="Незавершенный_инициализатор_массива">Незавершенный инициализатор массива</h3>
+<h3 id="Незавершённый_инициализатор_массива">Незавершённый инициализатор массива</h3>
<pre class="brush: js example-bad">var list = [1, 2,
diff --git a/files/ru/web/javascript/reference/errors/missing_colon_after_property_id/index.html b/files/ru/web/javascript/reference/errors/missing_colon_after_property_id/index.html
index 856d2fe526..00012ea3c4 100644
--- a/files/ru/web/javascript/reference/errors/missing_colon_after_property_id/index.html
+++ b/files/ru/web/javascript/reference/errors/missing_colon_after_property_id/index.html
@@ -55,7 +55,7 @@ obj['propertyKey'] = 'value';
<h3 id="Вычисляемые_свойства">Вычисляемые свойства</h3>
-<p>Если вы создаете ключ свойства из выражения, то вам необходимо использовать квадратные скобки. В противном случае имя свойства не будет вычислено:</p>
+<p>Если вы создаёте ключ свойства из выражения, то вам необходимо использовать квадратные скобки. В противном случае имя свойства не будет вычислено:</p>
<pre class="brush: js example-bad">var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id
diff --git a/files/ru/web/javascript/reference/errors/missing_curly_after_function_body/index.html b/files/ru/web/javascript/reference/errors/missing_curly_after_function_body/index.html
index 0d971440c7..0f3c17df1f 100644
--- a/files/ru/web/javascript/reference/errors/missing_curly_after_function_body/index.html
+++ b/files/ru/web/javascript/reference/errors/missing_curly_after_function_body/index.html
@@ -46,12 +46,12 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_curly_after_function_bod
}
};</pre>
-<p>Еще больше путаницы может внести использование {{Glossary("IIFE")}}, <a href="/ru/docs/Web/JavaScript/Closures">замыканий</a> и прочих конструкций, где используется большое количество различных скобок:</p>
+<p>Ещё больше путаницы может внести использование {{Glossary("IIFE")}}, <a href="/ru/docs/Web/JavaScript/Closures">замыканий</a> и прочих конструкций, где используется большое количество различных скобок:</p>
<pre class="brush: js example-bad">(function() { if (true) { return false; } );
</pre>
-<p>Зачастую облегчить поиск ошибок можно, проверив отступы еще раз или расставив их по-другому.</p>
+<p>Зачастую облегчить поиск ошибок можно, проверив отступы ещё раз или расставив их по-другому.</p>
<pre class="brush: js example-good">(function() {
if (true) {
diff --git a/files/ru/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html b/files/ru/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html
index 1b84367f61..fd7d0ca039 100644
--- a/files/ru/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html
+++ b/files/ru/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_argume
<h2 id="Примеры">Примеры</h2>
-<p>Из-за отсутствия оператора конкатенации "+", JavaScript ожидает аргумент функции <code>log</code> просто <code>"PI: "</code>. В этом случае, он должен быть заключен в закрывающие скобки.</p>
+<p>Из-за отсутствия оператора конкатенации "+", JavaScript ожидает аргумент функции <code>log</code> просто <code>"PI: "</code>. В этом случае, он должен быть заключён в закрывающие скобки.</p>
<pre class="brush: js example-bad">console.log('PI: ' Math.PI);
// SyntaxError: missing ) after argument list
diff --git a/files/ru/web/javascript/reference/errors/no_variable_name/index.html b/files/ru/web/javascript/reference/errors/no_variable_name/index.html
index 9ac5f9cb6e..0791d91708 100644
--- a/files/ru/web/javascript/reference/errors/no_variable_name/index.html
+++ b/files/ru/web/javascript/reference/errors/no_variable_name/index.html
@@ -35,7 +35,7 @@ SyntaxError: Unexpected token = (Chrome)</pre>
<h3 id="Зарезервированные_ключевые_слова_не_могут_использоваться_как_имена_переменных">Зарезервированные ключевые слова не могут использоваться как имена переменных</h3>
-<p>Есть несколько имен, которые являются <a href="/ru/docs/Web/JavaScript/Reference/Lexical_grammar#Ключевые_слова">зарезервированными ключевыми словами</a>. Их нельзя использовать. Увы :(</p>
+<p>Есть несколько имён, которые являются <a href="/ru/docs/Web/JavaScript/Reference/Lexical_grammar#Ключевые_слова">зарезервированными ключевыми словами</a>. Их нельзя использовать. Увы :(</p>
<pre class="brush: js example-bad">var debugger = "whoop";
// SyntaxError: missing variable name
diff --git a/files/ru/web/javascript/reference/errors/non_configurable_array_element/index.html b/files/ru/web/javascript/reference/errors/non_configurable_array_element/index.html
index b298844d17..9f932a969a 100644
--- a/files/ru/web/javascript/reference/errors/non_configurable_array_element/index.html
+++ b/files/ru/web/javascript/reference/errors/non_configurable_array_element/index.html
@@ -1,6 +1,6 @@
---
title: >-
- TypeError: can't delete non-configurable array element(Тип ошибки:не удается
+ TypeError: can't delete non-configurable array element(Тип ошибки:не удаётся
удалить настраиваемый элемент массива)
slug: Web/JavaScript/Reference/Errors/Non_configurable_array_element
translation_of: Web/JavaScript/Reference/Errors/Non_configurable_array_element
@@ -9,8 +9,8 @@ translation_of: Web/JavaScript/Reference/Errors/Non_configurable_array_element
<h2 id="Сообщения">Сообщения</h2>
-<pre class="syntaxbox">TypeError: не удается удалить не настраиваемый элемент массива (Firefox)
-TypeError: не удается удалить свойство '2' из [массива объектов] (Chrome)
+<pre class="syntaxbox">TypeError: не удаётся удалить не настраиваемый элемент массива (Firefox)
+TypeError: не удаётся удалить свойство '2' из [массива объектов] (Chrome)
</pre>
<h2 id="Тип_ошибки">Тип ошибки</h2>
@@ -33,14 +33,14 @@ TypeError: не удается удалить свойство '2' из [мас
<h3 id="Не_настраиваемые_свойства_созданные_Object.defineProperty">Не настраиваемые свойства, созданные <code>Object.defineProperty</code></h3>
-<p>The {{jsxref("Object.defineProperty()")}} создает не настраиваемые свойства по умолчанию, если они не указаны как настраиваемые.</p>
+<p>The {{jsxref("Object.defineProperty()")}} создаёт не настраиваемые свойства по умолчанию, если они не указаны как настраиваемые.</p>
<pre class="brush: js example-bad">var arr = [];
Object.defineProperty(arr, 0, {value: 0});
Object.defineProperty(arr, 1, {value: "1"});
arr.length = 1;
-// TypeError: не удается удалить не настраиваемый элемент массива
+// TypeError: не удаётся удалить не настраиваемый элемент массива
</pre>
<p>Вам нужно будет установить элементы как конфигурируемые, если вы собираетесь сократить массив.</p>
diff --git a/files/ru/web/javascript/reference/errors/not_a_codepoint/index.html b/files/ru/web/javascript/reference/errors/not_a_codepoint/index.html
index 0b72d6c50f..1d1decf231 100644
--- a/files/ru/web/javascript/reference/errors/not_a_codepoint/index.html
+++ b/files/ru/web/javascript/reference/errors/not_a_codepoint/index.html
@@ -18,7 +18,7 @@ RangeError: Invalid code point {0} (Chrome)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Метод {{jsxref("String.fromCodePoint()")}} выдает ошибку, если ему было передано значение {{jsxref("NaN")}}, отрицательное целое число (-1), нецелое число (5.4) или значение, которое превышает 0x10FFFF (1114111).</p>
+<p>Метод {{jsxref("String.fromCodePoint()")}} выдаёт ошибку, если ему было передано значение {{jsxref("NaN")}}, отрицательное целое число (-1), нецелое число (5.4) или значение, которое превышает 0x10FFFF (1114111).</p>
<p><a href="https://en.wikipedia.org/wiki/Code_point">Кодовая точка (code point)</a> – это значение в кодовом пространстве Unicode, то есть диапазон целых чисел от <code>0</code> до <code>0x10FFFF</code>.</p>
diff --git a/files/ru/web/javascript/reference/errors/not_a_constructor/index.html b/files/ru/web/javascript/reference/errors/not_a_constructor/index.html
index e9c3aafb29..68f9144938 100644
--- a/files/ru/web/javascript/reference/errors/not_a_constructor/index.html
+++ b/files/ru/web/javascript/reference/errors/not_a_constructor/index.html
@@ -71,7 +71,7 @@ var obj = new f;
<h3 id="В_Обещаниях_(Promises)">В Обещаниях (Promises)</h3>
-<p>В случае, когда возвращается незамедлительно разрешенное или незамедлительно отклоненное Обещание, Вам не нужно создавать новое Обещание <em>new Promise(...)</em> и работать с ним.</p>
+<p>В случае, когда возвращается незамедлительно разрешённое или незамедлительно отклонённое Обещание, Вам не нужно создавать новое Обещание <em>new Promise(...)</em> и работать с ним.</p>
<p>Это неправильно (<a href="/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise#Constructor">конструктор Обещания</a> вызывается неправильно) и будет вызывать исключение <code>TypeError: this is not a constructor</code>:</p>
diff --git a/files/ru/web/javascript/reference/errors/not_defined/index.html b/files/ru/web/javascript/reference/errors/not_defined/index.html
index 818c3c00d4..2169f9ffa3 100644
--- a/files/ru/web/javascript/reference/errors/not_defined/index.html
+++ b/files/ru/web/javascript/reference/errors/not_defined/index.html
@@ -36,7 +36,7 @@ foo.substring(1); // "ar"</pre>
<h3 id="Неправильная_зона_доступности"><font><font>Неправильная зона доступности</font></font></h3>
-<p>Переменная должна быть доступна в текущем контексте исполнения. Переменные, определенные внутри <a href="/ru/docs/Web/JavaScript/Reference/Functions">функции</a> не могут быть доступны из любой точки за пределами функции, так как переменная определена только в области видимости самой функции.</p>
+<p>Переменная должна быть доступна в текущем контексте исполнения. Переменные, определённые внутри <a href="/ru/docs/Web/JavaScript/Reference/Functions">функции</a> не могут быть доступны из любой точки за пределами функции, так как переменная определена только в области видимости самой функции.</p>
<pre class="brush: js example-bad">function numbers () {
var num1 = 2,
@@ -46,7 +46,7 @@ foo.substring(1); // "ar"</pre>
console.log(num1); // ReferenceError num1 is not defined.</pre>
-<p>Тем не менее, функция может получить доступ ко всем переменным и функциям, определенным в области видимости, в которой она определена.  Другими словами, функция, определенная в глобальной области может получить доступ ко всем переменным, определенным в глобальном масштабе.</p>
+<p>Тем не менее, функция может получить доступ ко всем переменным и функциям, определённым в области видимости, в которой она определена.  Другими словами, функция, определённая в глобальной области может получить доступ ко всем переменным, определённым в глобальном масштабе.</p>
<pre class="brush: js example-good">var num1 = 2,
num2 = 3;
diff --git a/files/ru/web/javascript/reference/errors/read-only/index.html b/files/ru/web/javascript/reference/errors/read-only/index.html
index 4675e8008f..2616d68809 100644
--- a/files/ru/web/javascript/reference/errors/read-only/index.html
+++ b/files/ru/web/javascript/reference/errors/read-only/index.html
@@ -10,8 +10,8 @@ translation_of: Web/JavaScript/Reference/Errors/Read-only
<pre class="syntaxbox">TypeError: назначение свойств только для чтения не допускается в строгом режиме (Edge)
TypeError: "x" доступен только для чтения (Firefox)
TypeError: 0 доступен только для чтения (Firefox)
-TypeError: не удается назначить только для чтения свойство "x" из #&lt;объект&gt; (Chrome)
-TypeError: не удается назначить только для чтения свойство '0' [массив объектов] (Chrome)
+TypeError: не удаётся назначить только для чтения свойство "x" из #&lt;объект&gt; (Chrome)
+TypeError: не удаётся назначить только для чтения свойство '0' [массив объектов] (Chrome)
</pre>
<h2 id="Тип_ошибки">Тип ошибки</h2>
diff --git a/files/ru/web/javascript/reference/errors/redeclared_parameter/index.html b/files/ru/web/javascript/reference/errors/redeclared_parameter/index.html
index 781ea495ec..dbf5ae9fba 100644
--- a/files/ru/web/javascript/reference/errors/redeclared_parameter/index.html
+++ b/files/ru/web/javascript/reference/errors/redeclared_parameter/index.html
@@ -21,7 +21,7 @@ SyntaxError: Identifier "x" has already been declared (Chrome)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Одно и то же имя переменной сначала использовано в качестве параметра, а потом объявлено еще раз в теле функции с помощью оператора присваивания <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code>. В JavaScript не допустимо переопределение переменной в рамках области видимости функции или блока при помощи <code>let</code>.</p>
+<p>Одно и то же имя переменной сначала использовано в качестве параметра, а потом объявлено ещё раз в теле функции с помощью оператора присваивания <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code>. В JavaScript не допустимо переопределение переменной в рамках области видимости функции или блока при помощи <code>let</code>.</p>
<h2 id="Примеры">Примеры</h2>
@@ -34,7 +34,7 @@ SyntaxError: Identifier "x" has already been declared (Chrome)
// SyntaxError: redeclaration of formal parameter "arg"
</pre>
-<p>Если вы хотите изменить значение переменной "arg" в теле функции, это можно сделать, но для этого не требуется объявлять эту же переменную еще раз. Иначе говоря, ключевое слово <code>let</code> можно опустить. Если же вы хотите создать новую переменную, необходимо ее переименовать, поскольку в противном случае она вступает в конфликт с уже существующим параметром функции.</p>
+<p>Если вы хотите изменить значение переменной "arg" в теле функции, это можно сделать, но для этого не требуется объявлять эту же переменную ещё раз. Иначе говоря, ключевое слово <code>let</code> можно опустить. Если же вы хотите создать новую переменную, необходимо её переименовать, поскольку в противном случае она вступает в конфликт с уже существующим параметром функции.</p>
<pre class="brush: js example-good">function f(arg) {
arg = 'foo';
diff --git a/files/ru/web/javascript/reference/errors/reserved_identifier/index.html b/files/ru/web/javascript/reference/errors/reserved_identifier/index.html
index 28c0df1add..91cedeb38d 100644
--- a/files/ru/web/javascript/reference/errors/reserved_identifier/index.html
+++ b/files/ru/web/javascript/reference/errors/reserved_identifier/index.html
@@ -60,7 +60,7 @@ var list = ["potatoes", "rice", "fries"];</pre>
<h3 id="Обновление_старых_браузеров">Обновление старых браузеров</h3>
-<p>Например, если вы используете старый браузер, в котором еще не реализована функция <code><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code> или <code><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/class">class</a></code>, вам следует перейти на более новую версию браузера, которая поддерживает данные языковые функции.</p>
+<p>Например, если вы используете старый браузер, в котором ещё не реализована функция <code><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code> или <code><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/class">class</a></code>, вам следует перейти на более новую версию браузера, которая поддерживает данные языковые функции.</p>
<pre class="brush: js">"use strict";
class DocArchiver {}
diff --git a/files/ru/web/javascript/reference/errors/strict_non_simple_params/index.html b/files/ru/web/javascript/reference/errors/strict_non_simple_params/index.html
index 48917edbc1..9f76e774c7 100644
--- a/files/ru/web/javascript/reference/errors/strict_non_simple_params/index.html
+++ b/files/ru/web/javascript/reference/errors/strict_non_simple_params/index.html
@@ -23,7 +23,7 @@ SyntaxError: Illegal 'use strict' directive in function with non-simple paramete
<p>Перевод:</p>
<pre class="syntaxbox">Edge:
-Не удается применить строгий режим к функциям со списком, содержащим сложные параметры
+Не удаётся применить строгий режим к функциям со списком, содержащим сложные параметры
Firefox:
Ошибка синтаксиса: "use strict" не допускается в функции с параметром по умолчанию
@@ -74,7 +74,7 @@ function sum(a = 1, b = 2) {
<h3 id="Функция_выражения">Функция выражения</h3>
-<p>Выражение функции может использовать еще один обходной путь:</p>
+<p>Выражение функции может использовать ещё один обходной путь:</p>
<pre class="brush: js example-bad">var sum = function sum([a, b]) {
// SyntaxError: "use strict" не допускается в функции с параметром деструктурирования
diff --git a/files/ru/web/javascript/reference/errors/unexpected_token/index.html b/files/ru/web/javascript/reference/errors/unexpected_token/index.html
index 52b6bca2de..62f6dd9db2 100644
--- a/files/ru/web/javascript/reference/errors/unexpected_token/index.html
+++ b/files/ru/web/javascript/reference/errors/unexpected_token/index.html
@@ -25,7 +25,7 @@ SyntaxError: expected '=&gt;' after argument list, got "x"
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>Вместо определенной конструкции языка было использовано что-то другое. Возможно, просто опечатка.</p>
+<p>Вместо определённой конструкции языка было использовано что-то другое. Возможно, просто опечатка.</p>
<h2 id="Примеры">Примеры</h2>
@@ -39,7 +39,7 @@ SyntaxError: expected '=&gt;' after argument list, got "x"
// SyntaxError: expected expression, got ';'
</pre>
-<p>Правильным вариантом будет убрать запятую или добавить еще одно выражение:</p>
+<p>Правильным вариантом будет убрать запятую или добавить ещё одно выражение:</p>
<pre class="brush: js example-good">for (let i = 0; i &lt; 5; ++i) {
console.log(i);
diff --git a/files/ru/web/javascript/reference/errors/unexpected_type/index.html b/files/ru/web/javascript/reference/errors/unexpected_type/index.html
index c8ccbe028f..43015841f0 100644
--- a/files/ru/web/javascript/reference/errors/unexpected_type/index.html
+++ b/files/ru/web/javascript/reference/errors/unexpected_type/index.html
@@ -25,7 +25,7 @@ TypeError: "x" is not a symbol
<p>Встречен неожиданный тип. Это часто случается со значениями {{jsxref("null")}} или {{jsxref("undefined")}}.</p>
-<p>Так же, некоторые методы, такие как {{jsxref("Object.create()")}} или {{jsxref("Symbol.keyFor()")}}, требуют определенный тип, который должен быть предоставлен.</p>
+<p>Так же, некоторые методы, такие как {{jsxref("Object.create()")}} или {{jsxref("Symbol.keyFor()")}}, требуют определённый тип, который должен быть предоставлен.</p>
<h2 id="Примеры">Примеры</h2>
@@ -39,7 +39,7 @@ var foo = null;
foo.substring(1); // TypeError: foo is null
-// Некоторые методы могут требовать определенный тип
+// Некоторые методы могут требовать определённый тип
var foo = {}
Symbol.keyFor(foo); // TypeError: foo is not a symbol
diff --git a/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html b/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html
index 0c950c014e..c4f442f49e 100644
--- a/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html
+++ b/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html
@@ -18,7 +18,7 @@ SyntaxError: непредвиденный токен ( [Chrome]
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p>В коде есть оператор function, для которого требуется имя. Вам нужно будет проверить, как определены функции и нужно ли предоставить для них имя, или если рассматриваемая функция должна быть выражением функции, {{Glossary("IIFE")}}, или если код функции вообще правильно размещен в этом контексте.</p>
+<p>В коде есть оператор function, для которого требуется имя. Вам нужно будет проверить, как определены функции и нужно ли предоставить для них имя, или если рассматриваемая функция должна быть выражением функции, {{Glossary("IIFE")}}, или если код функции вообще правильно размещён в этом контексте.</p>
<h2 id="Примеры">Примеры</h2>
@@ -38,7 +38,7 @@ SyntaxError: непредвиденный токен ( [Chrome]
return 'Hello world';
};</pre>
-<p>Или, ваша функция возможно, предназначена для IIFE (немедленно вызываемое выражение функции), которое является функцией, которая запускается, как только она определена. В этом случае вам понадобится еще несколько брекетов:</p>
+<p>Или, ваша функция возможно, предназначена для IIFE (немедленно вызываемое выражение функции), которое является функцией, которая запускается, как только она определена. В этом случае вам понадобится ещё несколько брекетов:</p>
<pre class="brush: js example-good">(function () {
diff --git a/files/ru/web/javascript/reference/errors/unterminated_string_literal/index.html b/files/ru/web/javascript/reference/errors/unterminated_string_literal/index.html
index ea9aca3e65..dd817a5407 100644
--- a/files/ru/web/javascript/reference/errors/unterminated_string_literal/index.html
+++ b/files/ru/web/javascript/reference/errors/unterminated_string_literal/index.html
@@ -1,5 +1,5 @@
---
-title: 'SyntaxError: unterminated string literal(незавершенный строковый литерал)'
+title: 'SyntaxError: unterminated string literal(незавершённый строковый литерал)'
slug: Web/JavaScript/Reference/Errors/Unterminated_string_literal
translation_of: Web/JavaScript/Reference/Errors/Unterminated_string_literal
---
@@ -34,7 +34,7 @@ SyntaxError: незадействованный строковый литера
<pre class="brush: js example-bad">var longString = 'Это очень длинная строка, которая нуждается
                  перенос через несколько строк, потому что
                  в противном случае мой код нечитаем.";
-// SyntaxError: незавершенный строковый литерал</pre>
+// SyntaxError: незавершённый строковый литерал</pre>
<p>Вместо этого используйте оператор+, обратную косую черту или литералы шаблона. Вариант оператора + выглядит следующим образом:</p>
@@ -50,7 +50,7 @@ SyntaxError: незадействованный строковый литера
в противном случае мой код нечитаем.";
</pre>
-<p>Еще одна возможность-использовать шаблонные литералы, поддерживаемые в средах ECMAScript 2015:</p>
+<p>Ещё одна возможность-использовать шаблонные литералы, поддерживаемые в средах ECMAScript 2015:</p>
<pre class="brush: js example-good">var longString = `Это очень длинная строка, которая нуждается
                  в переносе через несколько строк, потому что
diff --git a/files/ru/web/javascript/reference/errors/var_hides_argument/index.html b/files/ru/web/javascript/reference/errors/var_hides_argument/index.html
index 91953a36c8..5b7c3d1f8e 100644
--- a/files/ru/web/javascript/reference/errors/var_hides_argument/index.html
+++ b/files/ru/web/javascript/reference/errors/var_hides_argument/index.html
@@ -24,7 +24,7 @@ original_slug: Web/JavaScript/Reference/Errors/Переменные_скрыва
<p> </p>
-<p>То же имя переменной происходит в качестве параметра функции, и затем повторно объявляется с помощью назначения var в теле функции. Это может быть конфликт имен, поэтому JavaScript предупреждает об этом.</p>
+<p>То же имя переменной происходит в качестве параметра функции, и затем повторно объявляется с помощью назначения var в теле функции. Это может быть конфликт имён, поэтому JavaScript предупреждает об этом.</p>
<p>Эта ошибка возникает как предупреждение только в коде строгого режима. В нестрогом коде повторное объявление игнорируется.</p>
diff --git a/files/ru/web/javascript/reference/functions/arguments/callee/index.html b/files/ru/web/javascript/reference/functions/arguments/callee/index.html
index eaf41af79d..5326296bdd 100644
--- a/files/ru/web/javascript/reference/functions/arguments/callee/index.html
+++ b/files/ru/web/javascript/reference/functions/arguments/callee/index.html
@@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Functions/arguments/callee
<p> </p>
-<p>Действительно незаменимым оно остается всего в одной ситуации. Когда мы создаем анонимную функцию напрямую через конструктор <em>Function.</em></p>
+<p>Действительно незаменимым оно остаётся всего в одной ситуации. Когда мы создаём анонимную функцию напрямую через конструктор <em>Function.</em></p>
<pre class="line-numbers language-javascript"><code class="language-javascript"><span class="keyword token">var b = new Function("", "alert(typeof arguments.callee)");</span></code></pre>
diff --git a/files/ru/web/javascript/reference/functions/arguments/index.html b/files/ru/web/javascript/reference/functions/arguments/index.html
index b23710eba0..db4f25e9b6 100644
--- a/files/ru/web/javascript/reference/functions/arguments/index.html
+++ b/files/ru/web/javascript/reference/functions/arguments/index.html
@@ -105,7 +105,7 @@ console.log(typeof arguments[0]);</code></pre>
<span class="keyword token">return</span> args<span class="punctuation token">.</span><span class="function token">join</span><span class="punctuation token">(</span>separator<span class="punctuation token">)</span><span class="punctuation token">;</span>
<span class="punctuation token">}</span></code></pre>
-<p>Вы можете передать любое количество аргументов в эту функцию. Она создает строку, используя каждый аргумент:</p>
+<p>Вы можете передать любое количество аргументов в эту функцию. Она создаёт строку, используя каждый аргумент:</p>
<pre class="brush:js">// возвращает "red, orange, blue"
myConcat(", ", "red", "orange", "blue");
@@ -118,7 +118,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");</pre>
<h3 id="Функция_создающая_HTML_списки"> Функция, создающая HTML списки</h3>
-<p>В данном примере приведена функция, которая создает строку с HTML-разметкой для списка. Единственный ее аргумент - строка, определяющая вид списка: если его значение равно "u", формируется неупорядоченный (маркированный) список, а если "o", то упорядоченный (нумерованный):</p>
+<p>В данном примере приведена функция, которая создаёт строку с HTML-разметкой для списка. Единственный её аргумент - строка, определяющая вид списка: если его значение равно "u", формируется неупорядоченный (маркированный) список, а если "o", то упорядоченный (нумерованный):</p>
<pre class="brush:js">function list(type) {
var result = "&lt;" + type + "l&gt;&lt;li&gt;";
@@ -148,7 +148,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");</pre>
<span class="punctuation token">}</span>
<span class="function token">foo</span><span class="punctuation token">(</span><span class="number token">1</span><span class="punctuation token">,</span> <span class="number token">2</span><span class="punctuation token">,</span> <span class="number token">3</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// { "0": 1, "1": 2, "2": 3 }</span></code></pre>
-<p>Тем не менее, в нестрогих функциях <strong>соответствие между их аргументами и объектом <code>arguments</code></strong> существует только в том случае, если функция <strong>не</strong> содержит никаких <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">оставшихся параметров</a>, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">параметров по умолчанию</a> или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">деструктурированных параметров</a>. Например, в функции, приведенной ниже, используется параметр по умолчанию, и в данном случае возвращаемый результат будет равен 10, а не 100:</p>
+<p>Тем не менее, в нестрогих функциях <strong>соответствие между их аргументами и объектом <code>arguments</code></strong> существует только в том случае, если функция <strong>не</strong> содержит никаких <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">оставшихся параметров</a>, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">параметров по умолчанию</a> или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">деструктурированных параметров</a>. Например, в функции, приведённой ниже, используется параметр по умолчанию, и в данном случае возвращаемый результат будет равен 10, а не 100:</p>
<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">function</span> <span class="function token">bar</span><span class="punctuation token">(</span>a<span class="operator token">=</span><span class="number token">1</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
arguments<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span> <span class="operator token">=</span> <span class="number token">100</span><span class="punctuation token">;</span>
@@ -164,7 +164,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");</pre>
<span class="punctuation token">}</span>
<span class="function token">zoo</span><span class="punctuation token">(</span><span class="number token">10</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// 100</span></code></pre>
-<p>На самом деле, если <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">оставшиеся параметры</a>, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">параметры по умолчанию</a> или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">деструктурированные параметры</a> не используются, формальные аргументы будут ссылаться на последние значения объекта <strong><code>arguments</code></strong>, при считывании значений формальных аргументов будут считаны последние данные из <strong><code>arguments</code></strong>, а при изменении значений формальных аргументов будет обновлен и объект <strong><code>arguments</code></strong>. Пример приведен в коде ниже:</p>
+<p>На самом деле, если <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">оставшиеся параметры</a>, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">параметры по умолчанию</a> или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">деструктурированные параметры</a> не используются, формальные аргументы будут ссылаться на последние значения объекта <strong><code>arguments</code></strong>, при считывании значений формальных аргументов будут считаны последние данные из <strong><code>arguments</code></strong>, а при изменении значений формальных аргументов будет обновлён и объект <strong><code>arguments</code></strong>. Пример приведён в коде ниже:</p>
<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">function</span> <span class="function token">func</span><span class="punctuation token">(</span>a<span class="punctuation token">,</span> b<span class="punctuation token">)</span> <span class="punctuation token">{</span>
arguments<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span> <span class="operator token">=</span> <span class="number token">90</span><span class="punctuation token">;</span>
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 bd2cc34fe1..6df06beb79 100644
--- a/files/ru/web/javascript/reference/functions/arrow_functions/index.html
+++ b/files/ru/web/javascript/reference/functions/arrow_functions/index.html
@@ -66,7 +66,7 @@ f(); // 6
elements.map(function(element) {
return element.length;
-}); // Это выражение вернет массив [8, 6, 7, 9]
+}); // Это выражение вернёт массив [8, 6, 7, 9]
// Функцию выше можно записать как стрелочную функцию:
elements.map((element) =&gt; {
@@ -123,7 +123,7 @@ var p = new Person();
<p>Кроме этого, может быть создана <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Function/bind">привязанная функция</a>, в которую передаётся требуемое значение <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/this">this</a></code> для функции (функция <code>growUp()</code> в примере выше).</p>
-<p>Стрелочные функции не содержат собственный контекст <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/this">this</a></code>, а используют значение <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/this">this</a></code> окружающего контекста. Поэтому нижеприведенный код работает как предполагалось:</p>
+<p>Стрелочные функции не содержат собственный контекст <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/this">this</a></code>, а используют значение <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/this">this</a></code> окружающего контекста. Поэтому нижеприведённый код работает как предполагалось:</p>
<pre class="brush: js">function Person(){
this.age = 0;
diff --git a/files/ru/web/javascript/reference/functions/default_parameters/index.html b/files/ru/web/javascript/reference/functions/default_parameters/index.html
index 9043c38446..b257a5fe65 100644
--- a/files/ru/web/javascript/reference/functions/default_parameters/index.html
+++ b/files/ru/web/javascript/reference/functions/default_parameters/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Functions/Default_parameters
<h2 id="Example" name="Example">Описание</h2>
-<p>В JavaScript параметры функции, которым при ее вызове не передаются значения, принимают по умолчанию значение <code>{{jsxref("undefined")}}</code>. Однако в некоторых случаях может быть полезно задать иное значение по умолчанию. Именно для таких случаев предназначены параметры по умолчанию.</p>
+<p>В JavaScript параметры функции, которым при её вызове не передаются значения, принимают по умолчанию значение <code>{{jsxref("undefined")}}</code>. Однако в некоторых случаях может быть полезно задать иное значение по умолчанию. Именно для таких случаев предназначены параметры по умолчанию.</p>
<p>В прошлом для проверки параметров и задания их значений по умолчанию использовался код в теле функции, в котором проверялось, не равны ли значения параметров <code>undefined</code>.</p>
@@ -47,7 +47,7 @@ multiply(5, 2); // 10
multiply(5); // 5
</pre>
-<p>С появлением в ES2015 параметров по умолчанию стало возможным обходиться без проверки параметров в теле функции. Так, в приведенном выше примере достаточно в заголовке функции указать <code>1</code> в качестве значения по умолчанию для параметра <code>b</code>:</p>
+<p>С появлением в ES2015 параметров по умолчанию стало возможным обходиться без проверки параметров в теле функции. Так, в приведённом выше примере достаточно в заголовке функции указать <code>1</code> в качестве значения по умолчанию для параметра <code>b</code>:</p>
<pre class="brush: js">function multiply(a, b = 1) {
return a*b;
@@ -78,7 +78,7 @@ test(null); // 'object' (num получил значение null)
<h3 id="Параметры_по_умолчанию_вычисляются_в_момент_вызова_функции">Параметры по умолчанию вычисляются в момент вызова функции</h3>
-<p>В Javascript параметры по умолчанию вычисляются в момент вызова функции. В отличие от языка Python, при каждом вызове функции создается новое лексическое окружение функции.</p>
+<p>В Javascript параметры по умолчанию вычисляются в момент вызова функции. В отличие от языка Python, при каждом вызове функции создаётся новое лексическое окружение функции.</p>
<pre class="brush: js">function append(value, array = []) {
array.push(value);
@@ -117,7 +117,7 @@ callSomething(); // 2
greet('David', 'Hi'); // ["David", "Hi", "Hi David"]
greet('David', 'Hi', 'Happy Birthday!'); // ["David", "Hi", "Happy Birthday!"]</pre>
-<p>Следующий пример пример еще раз иллюстрирует эту возможность, а также позволяет еще раз сравнить два способа достижения одного и того же результата: с использованием инициализации параметров по умолчанию и без ее использования:</p>
+<p>Следующий пример пример ещё раз иллюстрирует эту возможность, а также позволяет ещё раз сравнить два способа достижения одного и того же результата: с использованием инициализации параметров по умолчанию и без её использования:</p>
<pre class="brush: js">function go() {
return ":P"
@@ -158,7 +158,7 @@ withoutDefaults.call({value:"=^_^="});
<h3 id="Инициализация_с_помощью_функций_определяемых_в_теле_функции">Инициализация с помощью функций, определяемых в теле функции</h3>
-<p>Начиная с версии Gecko 33 {{geckoRelease(33)}} функции, определяемые в теле самой функции, не могут быть использованы для инициализации параметров по умолчанию; попытка это сделать приведет к ошибке {{jsxref("ReferenceError")}}. Параметры по умолчанию всегда вычисляются до обработки описаний функций, определяемых в теле функции.</p>
+<p>Начиная с версии Gecko 33 {{geckoRelease(33)}} функции, определяемые в теле самой функции, не могут быть использованы для инициализации параметров по умолчанию; попытка это сделать приведёт к ошибке {{jsxref("ReferenceError")}}. Параметры по умолчанию всегда вычисляются до обработки описаний функций, определяемых в теле функции.</p>
<pre class="brush: js">// Вызовет ошибку ReferenceError!
function f(a = go()) {
diff --git a/files/ru/web/javascript/reference/functions/get/index.html b/files/ru/web/javascript/reference/functions/get/index.html
index 9e2c329c8e..0e6803733f 100644
--- a/files/ru/web/javascript/reference/functions/get/index.html
+++ b/files/ru/web/javascript/reference/functions/get/index.html
@@ -49,7 +49,7 @@ translation_of: Web/JavaScript/Reference/Functions/get
<h3 id="Определение_геттера_на_новом_объекте_в_момент_инициализации_этого_объекта">Определение геттера на новом объекте в момент инициализации этого объекта</h3>
-<p>Ниже создается псевдо-свойство <code>latest</code> для объекта <code>obj</code>, который выведет последний элемент массива в консоль лог.</p>
+<p>Ниже создаётся псевдо-свойство <code>latest</code> для объекта <code>obj</code>, который выведет последний элемент массива в консоль лог.</p>
<pre class="brush: js">const obj = {
log: ['example','test'],
@@ -98,10 +98,10 @@ console.log(obj.foo); // "bar"</pre>
<p>Геттеры дают нам возможность определять свойство объекта , но они не вычисляют значение этого свойства до тех пор, пока оно не станет доступно. Геттер откладывает стоимость вычисления значения до тех пор, пока это значение не станет нужно, и если оно никогда не понадобится, то вы никогда не заплатите.</p>
-<p>Дополнительная техника оптимизации заключается в том, чтобы лениться или откладывать вычисление значения свойства и кэшировать его для дальнейшего доступа. Так поступают <strong>умные или <a href="https://en.wikipedia.org/wiki/Memoization">запоминающие</a> геттеры</strong>. Значение вычисляется в первый раз при вызове геттера и затем сохраняется в кэше так, что последующие обращения будут возвращать кэшированные значения без его пересчета. Это полезно в следующих ситуациях:</p>
+<p>Дополнительная техника оптимизации заключается в том, чтобы лениться или откладывать вычисление значения свойства и кэшировать его для дальнейшего доступа. Так поступают <strong>умные или <a href="https://en.wikipedia.org/wiki/Memoization">запоминающие</a> геттеры</strong>. Значение вычисляется в первый раз при вызове геттера и затем сохраняется в кэше так, что последующие обращения будут возвращать кэшированные значения без его пересчёта. Это полезно в следующих ситуациях:</p>
<ul>
- <li>Если вычисление значения свойства дорого (занимает много оперативной памяти или процессорного времени, порождает рабочий поток, получает удаленный файл, и т. д.).</li>
+ <li>Если вычисление значения свойства дорого (занимает много оперативной памяти или процессорного времени, порождает рабочий поток, получает удалённый файл, и т. д.).</li>
<li>Если сейчас это значение не нужно. Оно будет использоваться позже, или в некоторых случаях оно не используется вообще.</li>
<li>Если оно используется, к нему будут обращаться несколько раз, и нет необходимости его пересчитывать, так как значение не будет изменено, или не должно пересчитываться.</li>
</ul>
@@ -119,7 +119,7 @@ console.log(obj.foo); // "bar"</pre>
<h3 id="get_и_defineProperty"><code>get</code> и <code>defineProperty</code></h3>
-<p>Использование ключевого слова <code>get</code> и {{jsxref("Object.defineProperty()")}} дает похожие результаты, но при использовании в {{jsxref("classes")}} между ними есть тонкая разница.</p>
+<p>Использование ключевого слова <code>get</code> и {{jsxref("Object.defineProperty()")}} даёт похожие результаты, но при использовании в {{jsxref("classes")}} между ними есть тонкая разница.</p>
<p>При использовании <code>get</code> свойство будет определено в прототипе объекта, в то время, как при использовании {{jsxref ("Object.defineProperty ()")}} свойство будет определено в экземпляре, к которому применяется.</p>
diff --git a/files/ru/web/javascript/reference/functions/method_definitions/index.html b/files/ru/web/javascript/reference/functions/method_definitions/index.html
index 2a7f130d76..bc7b16eac1 100644
--- a/files/ru/web/javascript/reference/functions/method_definitions/index.html
+++ b/files/ru/web/javascript/reference/functions/method_definitions/index.html
@@ -38,7 +38,7 @@ original_slug: Web/JavaScript/Reference/Functions/Определение_мет
<h3 id="Сокращение_методов-генераторов">Сокращение методов-генераторов</h3>
-<p><a href="/en-US/docs/Web/JavaScript/Reference/Statements/function*">Методы-генераторы</a> также могут быть определены используя короткий синтаксис. Обратите внимание, что звездочка (*) в коротком синтаксисе должна быть перед именем свойства генератора. То есть, <code>* g(){}</code> будет работать, а <code>g *(){}</code> не будет.</p>
+<p><a href="/en-US/docs/Web/JavaScript/Reference/Statements/function*">Методы-генераторы</a> также могут быть определены используя короткий синтаксис. Обратите внимание, что звёздочка (*) в коротком синтаксисе должна быть перед именем свойства генератора. То есть, <code>* g(){}</code> будет работать, а <code>g *(){}</code> не будет.</p>
<pre class="brush: js;highlight[12]">// Используя свойство с именем (pre-ES6)
var obj2 = {
diff --git a/files/ru/web/javascript/reference/functions/set/index.html b/files/ru/web/javascript/reference/functions/set/index.html
index 97b89211c1..438bd10539 100644
--- a/files/ru/web/javascript/reference/functions/set/index.html
+++ b/files/ru/web/javascript/reference/functions/set/index.html
@@ -41,13 +41,13 @@ translation_of: Web/JavaScript/Reference/Functions/set
</ul>
</div>
-<p>Сеттер может быть удален оператором <a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete"><code>delete</code></a>.</p>
+<p>Сеттер может быть удалён оператором <a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete"><code>delete</code></a>.</p>
<h2 id="Примеры">Примеры</h2>
<h3 id="Определение_сеттера_при_инициализации_новых_объектов">Определение сеттера при инициализации новых объектов</h3>
-<p>Это позволит определить псевдо-параметр <code>current</code> объекта <code>o</code>, который задает значение, обновляющее значение <code>log</code>:</p>
+<p>Это позволит определить псевдо-параметр <code>current</code> объекта <code>o</code>, который задаёт значение, обновляющее значение <code>log</code>:</p>
<pre class="brush: js">var o = {
set current (str) {
@@ -57,7 +57,7 @@ translation_of: Web/JavaScript/Reference/Functions/set
}
</pre>
-<p><code>обратите внимание, что current</code> не определен и любые попытки доступа к нему вернут <code>undefined</code>.</p>
+<p><code>обратите внимание, что current</code> не определён и любые попытки доступа к нему вернут <code>undefined</code>.</p>
<h3 id="Удаление_сеттера_оператором_delete">Удаление сеттера оператором <code>delete</code></h3>
diff --git a/files/ru/web/javascript/reference/global_objects/array/concat/index.html b/files/ru/web/javascript/reference/global_objects/array/concat/index.html
index b3c2fa6eea..5d2bff7df7 100644
--- a/files/ru/web/javascript/reference/global_objects/array/concat/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/concat/index.html
@@ -119,7 +119,7 @@ console.log(alphaNumeric); // Результат: ['a', 'b', 'c', 1, 2, 3]
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.concat")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/every/index.html b/files/ru/web/javascript/reference/global_objects/array/every/index.html
index 830be8882f..dc64e46dc1 100644
--- a/files/ru/web/javascript/reference/global_objects/array/every/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/every/index.html
@@ -50,7 +50,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/every
<h2 id="Description" name="Description">Описание</h2>
-<p>Метод <code>every()</code> вызывает переданную функцию <code>callback</code> один раз для каждого элемента, присутствующего в массиве до тех пор, пока не найдет такой, для которого <code>callback</code> вернет <em>ложное</em> значение (значение, становящееся равным <code>false</code> при приведении его к типу {{jsxref("Boolean")}}). Если такой элемент найден, метод <code>every()</code> немедленно вернёт <code>false</code>. В противном случае, если <code>callback</code> вернёт <code>true</code> для всех элементов массива, метод <code>every()</code> вернёт <code>true</code>. Функция <code>callback</code> вызывается только для индексов массива, имеющих присвоенные значения; она не вызывается для индексов, которые были удалены или которым значения никогда не присваивались.</p>
+<p>Метод <code>every()</code> вызывает переданную функцию <code>callback</code> один раз для каждого элемента, присутствующего в массиве до тех пор, пока не найдёт такой, для которого <code>callback</code> вернёт <em>ложное</em> значение (значение, становящееся равным <code>false</code> при приведении его к типу {{jsxref("Boolean")}}). Если такой элемент найден, метод <code>every()</code> немедленно вернёт <code>false</code>. В противном случае, если <code>callback</code> вернёт <code>true</code> для всех элементов массива, метод <code>every()</code> вернёт <code>true</code>. Функция <code>callback</code> вызывается только для индексов массива, имеющих присвоенные значения; она не вызывается для индексов, которые были удалены или которым значения никогда не присваивались.</p>
<p>Функция <code>callback</code> вызывается с тремя аргументами: значением элемента, индексом элемента и массивом, по которому осуществляется проход.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/array/fill/index.html b/files/ru/web/javascript/reference/global_objects/array/fill/index.html
index 1e3fb187da..3bb59fb99d 100644
--- a/files/ru/web/javascript/reference/global_objects/array/fill/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/fill/index.html
@@ -146,7 +146,7 @@ arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]</code></pre>
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.fill")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/filter/index.html b/files/ru/web/javascript/reference/global_objects/array/filter/index.html
index da6a9296ae..2eb7f46f9f 100644
--- a/files/ru/web/javascript/reference/global_objects/array/filter/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/filter/index.html
@@ -287,7 +287,7 @@ console.log(deleteWords)
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.filter")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/find/index.html b/files/ru/web/javascript/reference/global_objects/array/find/index.html
index ceef78d17d..46c0b0e693 100644
--- a/files/ru/web/javascript/reference/global_objects/array/find/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/find/index.html
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/find
<p>Метод <code>find</code> не изменяет массив, для которого он был вызван.</p>
-<p>Диапазон элементов, обрабатываемых методом <code>find</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>find</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещение элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени когда метод <code>find</code> посетит их; удалённые элементы все еще будут посещены. </p>
+<p>Диапазон элементов, обрабатываемых методом <code>find</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>find</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещение элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени когда метод <code>find</code> посетит их; удалённые элементы все ещё будут посещены. </p>
<h2 id="Examples" name="Examples">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/array/flat/index.html b/files/ru/web/javascript/reference/global_objects/array/flat/index.html
index 236fa402fa..9fbccf3f75 100644
--- a/files/ru/web/javascript/reference/global_objects/array/flat/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/flat/index.html
@@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Новый массив с объединенными в него подмассивами.</p>
+<p>Новый массив с объединёнными в него подмассивами.</p>
<h2 id="Примеры">Примеры</h2>
@@ -76,7 +76,7 @@ arr1.reduce((acc, val) =&gt; acc.concat(val), []);// [1, 2, 3, 4]
const flatSingle = arr =&gt; [].concat(...arr);
</pre>
-<pre class="brush: js notranslate">// Для развертывания многомерных массивов используем рекурсию, reduce и concat
+<pre class="brush: js notranslate">// Для развёртывания многомерных массивов используем рекурсию, reduce и concat
const arr = [1, 2, [3, 4, [5, 6]]];
function flatDeep(arr, d = 1) {
diff --git a/files/ru/web/javascript/reference/global_objects/array/foreach/index.html b/files/ru/web/javascript/reference/global_objects/array/foreach/index.html
index 9a349176f9..35bf8b9a41 100644
--- a/files/ru/web/javascript/reference/global_objects/array/foreach/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/foreach/index.html
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/forEach
<dl>
<dt><code>callback</code></dt>
- <dd>Функция, которая будет вызвана для каждого элемента массива. Она принимает от одного до трех аргументов:</dd>
+ <dd>Функция, которая будет вызвана для каждого элемента массива. Она принимает от одного до трёх аргументов:</dd>
<dd>
<dl>
<dt><code>currentValue</code></dt>
@@ -253,7 +253,7 @@ words.forEach((word) =&gt; {
<h3 id="Выравнивание_уплощение_массива">Выравнивание (уплощение) массива</h3>
-<p>Следующий пример приведен только для целей обучения. Если вы хотите выравнять массив с помощью встроенных методов, вы можете использовать {{jsxref("Array.prototype.flat()")}}</p>
+<p>Следующий пример приведён только для целей обучения. Если вы хотите выравнять массив с помощью встроенных методов, вы можете использовать {{jsxref("Array.prototype.flat()")}}</p>
<pre class="brush: js">function flatten(arr) {
const result = []
@@ -370,7 +370,7 @@ if (!Array.prototype.forEach) {
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.forEach")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/keys/index.html b/files/ru/web/javascript/reference/global_objects/array/keys/index.html
index 94cc84dd43..21899980d1 100644
--- a/files/ru/web/javascript/reference/global_objects/array/keys/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/keys/index.html
@@ -76,7 +76,7 @@ console.log(denseKeys); // [0, 1, 2]
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.keys")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html b/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html
index 2b69fd256f..8857ca7b47 100644
--- a/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html
@@ -145,7 +145,7 @@ if (!Array.prototype.lastIndexOf) {
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.lastIndexOf")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/map/index.html b/files/ru/web/javascript/reference/global_objects/array/map/index.html
index 89a4c3362c..b9adf151c8 100644
--- a/files/ru/web/javascript/reference/global_objects/array/map/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/map/index.html
@@ -270,7 +270,7 @@ if (!Array.prototype.map) {
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправите нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправите нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.map")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/reduce/index.html b/files/ru/web/javascript/reference/global_objects/array/reduce/index.html
index b135b336ee..72c06b90b5 100644
--- a/files/ru/web/javascript/reference/global_objects/array/reduce/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/reduce/index.html
@@ -302,7 +302,7 @@ if (!Array.prototype.reduce) {
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.reduce")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/reverse/index.html b/files/ru/web/javascript/reference/global_objects/array/reverse/index.html
index 811d7adea9..d5845f1bbd 100644
--- a/files/ru/web/javascript/reference/global_objects/array/reverse/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/reverse/index.html
@@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Перевернутый массив</p>
+<p>Перевёрнутый массив</p>
<h2 id="Description" name="Description">Описание</h2>
@@ -82,7 +82,7 @@ console.log(myArray) // ['три', 'два', 'один']
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.reverse")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/slice/index.html b/files/ru/web/javascript/reference/global_objects/array/slice/index.html
index d3b197f00b..4654f52d0a 100644
--- a/files/ru/web/javascript/reference/global_objects/array/slice/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/slice/index.html
@@ -28,8 +28,8 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<dt><code>begin</code> {{optional_inline}}</dt>
<dd>Индекс (счёт начинается с нуля), по которому начинать извлечение.</dd>
<dd>Если индекс отрицательный, <code>begin</code> указывает смещение от конца последовательности. Вызов <code>slice(-2)</code> извлечёт два последних элемента последовательности.</dd>
- <dd>Если <code>begin</code> не определен, <code>slice()</code> начинает работать с индекса <code>0</code>.</dd>
- <dd>Если <code>begin</code> больше длины последовательности вернется пустой массив.</dd>
+ <dd>Если <code>begin</code> не определён, <code>slice()</code> начинает работать с индекса <code>0</code>.</dd>
+ <dd>Если <code>begin</code> больше длины последовательности вернётся пустой массив.</dd>
<dt><code>end</code> {{optional_inline}}</dt>
<dd>Индекс (счёт начинается с нуля), по которому заканчивать извлечение. Метод <code>slice()</code> извлекает элементы с индексом меньше <code>end</code>.</dd>
<dd>Вызов <code>slice(1, 4)</code> извлечёт элементы со второго по четвёртый (элементы по индексам 1, 2 и 3).</dd>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Новый массив, содержащий извлеченные элементы.</p>
+<p>Новый массив, содержащий извлечённые элементы.</p>
<h2 id="Description" name="Description">Описание</h2>
@@ -228,7 +228,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.builtins.Array.slice")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/array/some/index.html b/files/ru/web/javascript/reference/global_objects/array/some/index.html
index 9bc3fbd7f3..a9d6aea2e0 100644
--- a/files/ru/web/javascript/reference/global_objects/array/some/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/some/index.html
@@ -52,7 +52,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/some
<h2 id="Description" name="Description">Описание</h2>
-<p>Метод <code>some()</code> вызывает переданную функцию <code>callback</code> один раз для каждого элемента, присутствующего в массиве до тех пор, пока не найдет такой, для которого <code>callback</code> вернет <em>истинное</em> значение (значение, становящееся равным <code>true</code> при приведении его к типу {{jsxref("Boolean")}}). Если такой элемент найден, метод <code>some()</code> немедленно вернёт <code>true</code>. В противном случае, если <code>callback</code> вернёт <code>false</code> для всех элементов массива, метод <code>some()</code> вернёт <code>false</code>. Функция <code>callback</code> вызывается только для индексов массива, имеющих присвоенные значения; она не вызывается для индексов, которые были удалены или которым значения никогда не присваивались.</p>
+<p>Метод <code>some()</code> вызывает переданную функцию <code>callback</code> один раз для каждого элемента, присутствующего в массиве до тех пор, пока не найдёт такой, для которого <code>callback</code> вернёт <em>истинное</em> значение (значение, становящееся равным <code>true</code> при приведении его к типу {{jsxref("Boolean")}}). Если такой элемент найден, метод <code>some()</code> немедленно вернёт <code>true</code>. В противном случае, если <code>callback</code> вернёт <code>false</code> для всех элементов массива, метод <code>some()</code> вернёт <code>false</code>. Функция <code>callback</code> вызывается только для индексов массива, имеющих присвоенные значения; она не вызывается для индексов, которые были удалены или которым значения никогда не присваивались.</p>
<p>Функция <code>callback</code> вызывается с тремя аргументами: значением элемента, индексом элемента и массивом, по которому осуществляется проход.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/array/sort/index.html b/files/ru/web/javascript/reference/global_objects/array/sort/index.html
index 16b73503c5..f33119cd53 100644
--- a/files/ru/web/javascript/reference/global_objects/array/sort/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/sort/index.html
@@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Отсортированный массив. Важно, что копия массива не создается - массив сортируется <em><a href="https://en.wikipedia.org/wiki/In-place_algorithm">на месте</a></em>.</p>
+<p>Отсортированный массив. Важно, что копия массива не создаётся - массив сортируется <em><a href="https://en.wikipedia.org/wiki/In-place_algorithm">на месте</a></em>.</p>
<h2 id="Description" name="Description">Описание</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/arraybuffer/index.html b/files/ru/web/javascript/reference/global_objects/arraybuffer/index.html
index 3dfc1687ab..19d63d3859 100644
--- a/files/ru/web/javascript/reference/global_objects/arraybuffer/index.html
+++ b/files/ru/web/javascript/reference/global_objects/arraybuffer/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
---
<div>{{JSRef}}</div>
-<p>Объект <strong><code>ArrayBuffer</code></strong> используется для работы с бинарными данными. Он представляет собой ссылку на поток "сырых" двоичных данных, однако работать с ними напрямую возможности не дает. Вместо этого, вы можете создать <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">типизированный массив</a> или объект {{jsxref("DataView")}}, который можно использовать для чтения и записи данных в <strong><code>ArrayBuffer</code></strong>. </p>
+<p>Объект <strong><code>ArrayBuffer</code></strong> используется для работы с бинарными данными. Он представляет собой ссылку на поток "сырых" двоичных данных, однако работать с ними напрямую возможности не даёт. Вместо этого, вы можете создать <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">типизированный массив</a> или объект {{jsxref("DataView")}}, который можно использовать для чтения и записи данных в <strong><code>ArrayBuffer</code></strong>. </p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -24,11 +24,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Новый объект <code>ArrayBuffer</code> определенного размера. Изначально содержимое равно 0.</p>
+<p>Новый объект <code>ArrayBuffer</code> определённого размера. Изначально содержимое равно 0.</p>
<h2 id="Описание">Описание</h2>
-<p>Конструктор <code>ArrayBuffer</code> создает новый <code>ArrayBuffer</code> установленного в байтах размера.</p>
+<p>Конструктор <code>ArrayBuffer</code> создаёт новый <code>ArrayBuffer</code> установленного в байтах размера.</p>
<h3 id="Создание_буфера">Создание буфера</h3>
@@ -50,16 +50,16 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
<dl>
<dt>{{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}}</dt>
- <dd>Возвращает <code>true</code> если <code>arg</code> – одно из представлений <code>ArrayBuffer</code>, например <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">типизированный массив</a> или {{jsxref("DataView")}}. Вернет <code>false</code> в остальных случаях.</dd>
+ <dd>Возвращает <code>true</code> если <code>arg</code> – одно из представлений <code>ArrayBuffer</code>, например <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">типизированный массив</a> или {{jsxref("DataView")}}. Вернёт <code>false</code> в остальных случаях.</dd>
<dt>{{jsxref("ArrayBuffer.transfer", "ArrayBuffer.transfer(oldBuffer [, newByteLength])")}} {{experimental_inline}}</dt>
<dd>
- <div class="line" id="file-arraybuffer-transfer-LC6">Вернет новый <code>ArrayBuffer</code>, контент которого будет взят из данных <code>oldBuffer</code>, а затем усечен или дополнен нулевыми значениями до<font face="Open Sans, Arial, sans-serif"> </font><code>newByteLength</code>.</div>
+ <div class="line" id="file-arraybuffer-transfer-LC6">Вернёт новый <code>ArrayBuffer</code>, контент которого будет взят из данных <code>oldBuffer</code>, а затем усечён или дополнен нулевыми значениями до<font face="Open Sans, Arial, sans-serif"> </font><code>newByteLength</code>.</div>
</dd>
</dl>
<h2 id="Пример">Пример</h2>
-<p>В этом примере мы создаем 8-байтный буфер с {{jsxref("Global_Objects/Int32Array", "Int32Array")}} представлением:</p>
+<p>В этом примере мы создаём 8-байтный буфер с {{jsxref("Global_Objects/Int32Array", "Int32Array")}} представлением:</p>
<pre class="brush: js">var buffer = new ArrayBuffer(8);
var view = new Int32Array(buffer);</pre>
@@ -76,7 +76,7 @@ var view = new Int32Array(buffer);</pre>
<tr>
<td>{{SpecName('Typed Array')}}</td>
<td>{{Spec2('Typed Array')}}</td>
- <td>Заменен спецификацией ECMAScript 6.</td>
+ <td>Заменён спецификацией ECMAScript 6.</td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td>
diff --git a/files/ru/web/javascript/reference/global_objects/arraybuffer/slice/index.html b/files/ru/web/javascript/reference/global_objects/arraybuffer/slice/index.html
index 84b8592a5e..6182148417 100644
--- a/files/ru/web/javascript/reference/global_objects/arraybuffer/slice/index.html
+++ b/files/ru/web/javascript/reference/global_objects/arraybuffer/slice/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice
---
<div>{{JSRef}}</div>
-<p>Метод <code><strong>slice()</strong></code> вернет новый <code>ArrayBuffer</code>, содержимое которого, будет копией содержимого, содержащегося в исходом ArrayBuffer, начиная с begin (включительно), и до end(не включая).</p>
+<p>Метод <code><strong>slice()</strong></code> вернёт новый <code>ArrayBuffer</code>, содержимое которого, будет копией содержимого, содержащегося в исходом ArrayBuffer, начиная с begin (включительно), и до end(не включая).</p>
<h2 id="Syntax">Syntax</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/asyncfunction/index.html b/files/ru/web/javascript/reference/global_objects/asyncfunction/index.html
index b1475ad6e3..41f858c951 100644
--- a/files/ru/web/javascript/reference/global_objects/asyncfunction/index.html
+++ b/files/ru/web/javascript/reference/global_objects/asyncfunction/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/AsyncFunction
---
<div>{{JSRef}}</div>
-<p><code><strong><font face="Open Sans, arial, sans-serif">Конструктор </font>Async</strong></code><strong><code>Function</code> </strong>создает новый объект {{jsxref("Statements/async_function", "async function")}}. В JavaScript любая асинхронная функция фактически является объектом AsyncFunction.</p>
+<p><code><strong><font face="Open Sans, arial, sans-serif">Конструктор </font>Async</strong></code><strong><code>Function</code> </strong>создаёт новый объект {{jsxref("Statements/async_function", "async function")}}. В JavaScript любая асинхронная функция фактически является объектом AsyncFunction.</p>
<p>Обратите внимание, что AsyncFunction не является глобальным объектом. Её можно получить, выполнив следующий код.</p>
@@ -20,14 +20,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/AsyncFunction
<dl>
<dt><code>arg1, arg2, ... arg<em>N</em></code></dt>
- <dd>Имена, используемые функцией как формальные имена аргументов. Каждое имя должно быть строкой, которая соответствует действительному идентификатору JavaScript или списку таких строк, разделенных запятой; например, "<code>x</code>", "<code>theValue</code>", или "<code>a,b</code>". </dd>
+ <dd>Имена, используемые функцией как формальные имена аргументов. Каждое имя должно быть строкой, которая соответствует действительному идентификатору JavaScript или списку таких строк, разделённых запятой; например, "<code>x</code>", "<code>theValue</code>", или "<code>a,b</code>". </dd>
<dt><code>functionBody</code></dt>
<dd>Строка, содержащая в себе определение функции в исходном коде JavaScript .</dd>
</dl>
<h2 id="Описание">Описание</h2>
-<p>Объекты {{jsxref("Statements/async_function", "async function")}}, созданные с помощью AsyncFunction constructor  будут распарсены в момент, когда функция создается. Это менее эффективно, чем объявлять асинхронную функцию с помощью {{jsxref("Statements/async_function", "async function expression")}} и вызывать ее внутри вашего кода, поскольку такие функции анализируются с остальной частью кода.</p>
+<p>Объекты {{jsxref("Statements/async_function", "async function")}}, созданные с помощью AsyncFunction constructor  будут распарсены в момент, когда функция создаётся. Это менее эффективно, чем объявлять асинхронную функцию с помощью {{jsxref("Statements/async_function", "async function expression")}} и вызывать её внутри вашего кода, поскольку такие функции анализируются с остальной частью кода.</p>
<p>Все аргументы, переданные функции, рассматриваются как имена идентификаторов параметров в создаваемой функции в том порядке, в котором они передаются.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/atomics/add/index.html b/files/ru/web/javascript/reference/global_objects/atomics/add/index.html
index 546fdbd27f..003ce1619a 100644
--- a/files/ru/web/javascript/reference/global_objects/atomics/add/index.html
+++ b/files/ru/web/javascript/reference/global_objects/atomics/add/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add
---
<div>{{JSRef}}</div>
-<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.add()</code></strong> добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p>
+<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.add()</code></strong> добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдёт, пока изменённое значение не будет записано обратно.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add
<dl>
<dt><code>typedArray</code></dt>
- <dd>Разделенный массив целых чисел. {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} или {{jsxref("Uint32Array")}}.</dd>
+ <dd>Разделённый массив целых чисел. {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} или {{jsxref("Uint32Array")}}.</dd>
<dt><code>index</code></dt>
<dd>Позиция в <code>typedArray</code> для добавления <code>value</code>.</dd>
<dt><code>value</code></dt>
diff --git a/files/ru/web/javascript/reference/global_objects/atomics/index.html b/files/ru/web/javascript/reference/global_objects/atomics/index.html
index d51c14af2e..7411110086 100644
--- a/files/ru/web/javascript/reference/global_objects/atomics/index.html
+++ b/files/ru/web/javascript/reference/global_objects/atomics/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics
<h3 id="Атомарные_операции">Атомарные операции</h3>
-<p>Когда память разделена, несколько потоков могут читать и записывать одни и те же данные в память. Атомарные операции гарантируют, что ожидаемые значения будут записаны и прочитаны, а операции завершены, прежде чем следующая операция начнет свою работу, и они не будут прерваны.</p>
+<p>Когда память разделена, несколько потоков могут читать и записывать одни и те же данные в память. Атомарные операции гарантируют, что ожидаемые значения будут записаны и прочитаны, а операции завершены, прежде чем следующая операция начнёт свою работу, и они не будут прерваны.</p>
<dl>
<dt>{{jsxref("Atomics.add()")}}</dt>
@@ -50,12 +50,12 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics
<h3 id="Wait_и_notify">Wait и notify</h3>
-<p><code>wait()</code> и <code>wake()</code> методы моделируются на основе futexes ("fast user-space mutex" - быстрый мьютекс пользовательского пространства) Linux и предоставляют собой способы ожидания момента, когда определенное состояние не станет true, и обычно используется как блокирующие конструкции.</p>
+<p><code>wait()</code> и <code>wake()</code> методы моделируются на основе futexes ("fast user-space mutex" - быстрый мьютекс пользовательского пространства) Linux и предоставляют собой способы ожидания момента, когда определённое состояние не станет true, и обычно используется как блокирующие конструкции.</p>
<dl>
<dt>{{jsxref("Atomics.wait()")}}</dt>
<dd>
- <p>Проверяет, содержится в указанной позиции массива все еще представленное значение и спит в ожидании или тайм-аут. Возвращает <code>"ok"</code>, <code>"not-equal" </code>или <code>"timed-out"</code>. Если ожидание не разрешено в вызывающем агенте, тогда выбросит ошибку исключения (большинство браузеров не разрешают <code>wait()</code> в главном потоке браузера).</p>
+ <p>Проверяет, содержится в указанной позиции массива все ещё представленное значение и спит в ожидании или тайм-аут. Возвращает <code>"ok"</code>, <code>"not-equal" </code>или <code>"timed-out"</code>. Если ожидание не разрешено в вызывающем агенте, тогда выбросит ошибку исключения (большинство браузеров не разрешают <code>wait()</code> в главном потоке браузера).</p>
</dd>
<dt>{{jsxref("Atomics.wake()")}}</dt>
<dd>Пробуждает некоторых агентов, которые спят в очереди ожидания в указанной позиции массива. Возвращает количество агентов, которые были разбужены.</dd>
@@ -145,7 +145,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics
<h2 id="Похожие_заметки">Похожие заметки</h2>
-<p>До SpiderMonkey 48 {{geckoRelease(48)}}, финальные имена API и семантика не были еще реализованы. Изменения между Firefox v. 46 и v. 48:</p>
+<p>До SpiderMonkey 48 {{geckoRelease(48)}}, финальные имена API и семантика не были ещё реализованы. Изменения между Firefox v. 46 и v. 48:</p>
<ul>
<li>Методы <code>Atomics.futexWakeOrRequeue()</code> и <code>Atomics.fence()</code> полностью удалены ({{bug(1259544)}} и {{bug(1225028)}}).</li>
diff --git a/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html b/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html
index d3a9bbd3b4..05a2727be0 100644
--- a/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html
+++ b/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub
---
<div>{{JSRef}}</div>
-<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.sub()</code></strong> вычитает представленное значение из текущего по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p>
+<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.sub()</code></strong> вычитает представленное значение из текущего по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдёт, пока изменённое значение не будет записано обратно.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub
<dl>
<dt><code>typedArray</code></dt>
- <dd>Разделенный массив целых чисел. {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} или {{jsxref("Uint32Array")}}.</dd>
+ <dd>Разделённый массив целых чисел. {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} или {{jsxref("Uint32Array")}}.</dd>
<dt><code>index</code></dt>
<dd>Позиция в <code>typedArray</code> для добавления <code>value</code>.</dd>
<dt><code>value</code></dt>
diff --git a/files/ru/web/javascript/reference/global_objects/bigint/index.html b/files/ru/web/javascript/reference/global_objects/bigint/index.html
index c8e43137bf..108df340f7 100644
--- a/files/ru/web/javascript/reference/global_objects/bigint/index.html
+++ b/files/ru/web/javascript/reference/global_objects/bigint/index.html
@@ -10,14 +10,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/BigInt
---
<p>{{JSRef}}</p>
-<p><strong><code>BigInt</code></strong> это встроенный объект, который предоставляет способ представлять целые числа больше 2<sup>53</sup> - 1, наибольшего числа, которое JavaScript может надежно представить с {{JSxRef("Number")}} примитивом. Это максимальное значение можно получить, обратившись к {{JSxRef("Number.MAX_SAFE_INTEGER")}}.</p>
+<p><strong><code>BigInt</code></strong> это встроенный объект, который предоставляет способ представлять целые числа больше 2<sup>53</sup> - 1, наибольшего числа, которое JavaScript может надёжно представить с {{JSxRef("Number")}} примитивом. Это максимальное значение можно получить, обратившись к {{JSxRef("Number.MAX_SAFE_INTEGER")}}.</p>
<dl>
</dl>
<h2 id="Описание">Описание</h2>
-<p><code>BigInt</code> создается путем добавления <code>n</code> в конец целочисленного литерала — <code>10n</code> — или вызовом функции <code>BigInt()</code>.</p>
+<p><code>BigInt</code> создаётся путём добавления <code>n</code> в конец целочисленного литерала — <code>10n</code> — или вызовом функции <code>BigInt()</code>.</p>
<pre class="brush: js">const theBiggestInt = 9007199254740991n;
@@ -44,7 +44,7 @@ const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111"
<h3 id="Тип">Тип</h3>
-<p>При проверке с использованием оператора <code>typeof</code>, <code>BigInt</code> выдает тип <code>"bigint"</code>:</p>
+<p>При проверке с использованием оператора <code>typeof</code>, <code>BigInt</code> выдаёт тип <code>"bigint"</code>:</p>
<pre class="brush: js">typeof 1n === 'bigint'; // true
typeof BigInt('1') === 'bigint'; // true
@@ -57,7 +57,7 @@ typeof BigInt('1') === 'bigint'; // true
<h3 id="Операторы">Операторы</h3>
-<p>Следующие операторы могут использоваться с <code>BigInt</code> (или объектом-оберткой <code>BigInt</code>): <code>+</code>, <code>*</code>, <code>-</code>, <code>**</code>, <code>%</code>.</p>
+<p>Следующие операторы могут использоваться с <code>BigInt</code> (или объектом-обёрткой <code>BigInt</code>): <code>+</code>, <code>*</code>, <code>-</code>, <code>**</code>, <code>%</code>.</p>
<p><a href="/ru/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators">Побитовые операции</a> также поддерживаются, кроме <code>&gt;&gt;&gt;</code> (сдвиг вправо с заполнением нулями).</p>
@@ -91,7 +91,7 @@ bigN * -1n
<p>Оператор <code>/</code> также работает, как и ожидалось, с целыми числами. Однако, поскольку это BigInt, эта операция будет округляться в меньшую сторону, то есть она не будет возвращать какие-либо дробные цифры.</p>
<div class="blockIndicator warning">
-<p>Результат операции с дробным результатом будет округлен в <strong><u>меньшую</u></strong> сторону при использовании  <code>BigInt</code>.</p>
+<p>Результат операции с дробным результатом будет округлён в <strong><u>меньшую</u></strong> сторону при использовании  <code>BigInt</code>.</p>
</div>
<pre class="brush: js">const expected = 4n / 2n;
@@ -138,7 +138,7 @@ mixed.sort();
// ↪ [-12n, 0, 0n, 10, 4n, 4, 6]
</pre>
-<p>Обратите внимание, что сравнения с <code>обьектом</code>-оберткой <code>BigInt</code> действуют как с другими объектами, указывая на равенство только когда сравнивается идентичный экземпляр объекта:</p>
+<p>Обратите внимание, что сравнения с <code>обьектом</code>-обёрткой <code>BigInt</code> действуют как с другими объектами, указывая на равенство только когда сравнивается идентичный экземпляр объекта:</p>
<pre class="brush: js">0n === Object(0n); // false
Object(0n) === Object(0n); // false
@@ -236,7 +236,7 @@ Boolean(12n)
<h2 id="Примеры">Примеры</h2>
-<h3 id="Расчет_простых_чисел">Расчет простых чисел</h3>
+<h3 id="Расчёт_простых_чисел">Расчёт простых чисел</h3>
<pre class="brush: js">// Возвращает true, если BigInt — простое число
function isPrime(p) {
diff --git a/files/ru/web/javascript/reference/global_objects/date/index.html b/files/ru/web/javascript/reference/global_objects/date/index.html
index a6ce5896e1..4eb5876bd2 100644
--- a/files/ru/web/javascript/reference/global_objects/date/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/index.html
@@ -181,7 +181,7 @@ yourFunctionReturn = printElapsedTime(yourFunction);
<pre class="notranslate"><code>var seconds = Math.floor(Date.now() / 1000);</code></pre>
-<p>В этом случае важно возвращать только целое число (так что простое деление не подойдет), а также возвращать только фактически прошедшие секунды (поэтому этот код использует {{jsxref ("Math.floor ()")}} а не {{jsxref ("Math.round ()")}}).</p>
+<p>В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует {{jsxref ("Math.floor ()")}} а не {{jsxref ("Math.round ()")}}).</p>
<h2 id="Specifications" name="Specifications">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/date/setminutes/index.html b/files/ru/web/javascript/reference/global_objects/date/setminutes/index.html
index 3cf8647e14..e9718854f2 100644
--- a/files/ru/web/javascript/reference/global_objects/date/setminutes/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/setminutes/index.html
@@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMinutes
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Количество миллисекунд между 1 января 1970 00:00:00 UTC и обновленной датой.</p>
+<p>Количество миллисекунд между 1 января 1970 00:00:00 UTC и обновлённой датой.</p>
<h2 id="Description" name="Description">Описание</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html b/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html
index f603359b99..a4991d3e79 100644
--- a/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toUTCString
<p>Нет.</p>
<h2 id="Description" name="Description">Описание</h2>
-<p>Значение, возвращаемое методом <code>toUTCString()</code>, является человеко-читаемой строкой в часовом поясе <abbr title="Всемирное координированное время">UTC</abbr>. Формат возвращаемого значения зависит от платформы. Наиболее распространенным значением является форматированная по RFC-1123 временная метка, которая является немного обновлённой версией временной метки RFC-822.</p>
+<p>Значение, возвращаемое методом <code>toUTCString()</code>, является человеко-читаемой строкой в часовом поясе <abbr title="Всемирное координированное время">UTC</abbr>. Формат возвращаемого значения зависит от платформы. Наиболее распространённым значением является форматированная по RFC-1123 временная метка, которая является немного обновлённой версией временной метки RFC-822.</p>
<h2 id="Examples" name="Examples">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/decodeuricomponent/index.html b/files/ru/web/javascript/reference/global_objects/decodeuricomponent/index.html
index 8e7562ad05..98b6336f42 100644
--- a/files/ru/web/javascript/reference/global_objects/decodeuricomponent/index.html
+++ b/files/ru/web/javascript/reference/global_objects/decodeuricomponent/index.html
@@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/decodeURIComponent
<h3 id="Исключения">Исключения</h3>
-<p>При неправильном использовании выдает исключение {{jsxref("URIError")}} ("неверный формат последовательности URI").</p>
+<p>При неправильном использовании выдаёт исключение {{jsxref("URIError")}} ("неверный формат последовательности URI").</p>
<h2 id="Description" name="Description">Описание</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/encodeuri/index.html b/files/ru/web/javascript/reference/global_objects/encodeuri/index.html
index 9b6c6d7382..65e8cfda73 100644
--- a/files/ru/web/javascript/reference/global_objects/encodeuri/index.html
+++ b/files/ru/web/javascript/reference/global_objects/encodeuri/index.html
@@ -82,7 +82,7 @@ console.log(encodeURIComponent('\uD800'));
// один низкий суррогат бросит "URIError: malformed URI sequence"
console.log(encodeURIComponent('\uDFFF'));</code></pre>
-<p>Также заметим, что следуя наиболее свежей <a href="http://tools.ietf.org/html/rfc3986">RFC3986</a> для URL, которая делает квадратные скобки защищенными (для IPv6) и таким образом не кодирует, когда формирование чего-либо, не являющегося частью URL (такое как домен), следующий сниппет поможет:</p>
+<p>Также заметим, что следуя наиболее свежей <a href="http://tools.ietf.org/html/rfc3986">RFC3986</a> для URL, которая делает квадратные скобки защищёнными (для IPv6) и таким образом не кодирует, когда формирование чего-либо, не являющегося частью URL (такое как домен), следующий сниппет поможет:</p>
<pre class="brush: js">function fixedEncodeURI (str) {
return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
diff --git a/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html b/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html
index a0c6b028db..7493e53632 100644
--- a/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html
+++ b/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/encodeURIComponent
---
<div>{{jsSidebar("Objects")}}</div>
-<p><code><strong>encodeURIComponent()</strong></code> - метод, кодирующий компонент универсального идентификатора ресурса (URI) заменой каждой определенной последовательности символов одной, двумя, тремя или четырьмя последовательностями символов, представленных в кодировке UTF-8  (будет только 4 управляющих последовательности для символов, состоящих из 2 "суррогатных" символов).</p>
+<p><code><strong>encodeURIComponent()</strong></code> - метод, кодирующий компонент универсального идентификатора ресурса (URI) заменой каждой определённой последовательности символов одной, двумя, тремя или четырьмя последовательностями символов, представленных в кодировке UTF-8  (будет только 4 управляющих последовательности для символов, состоящих из 2 "суррогатных" символов).</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/error/index.html b/files/ru/web/javascript/reference/global_objects/error/index.html
index 90a108b2a4..6ac3ffc666 100644
--- a/files/ru/web/javascript/reference/global_objects/error/index.html
+++ b/files/ru/web/javascript/reference/global_objects/error/index.html
@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Error
<h3 id="Использование_как_функции">Использование как функции</h3>
-<p>Когда <code>Error</code> используется как функции-- без {{jsxref("Operators/new", "new")}}, она возвращает <code>Error</code> объект. Следовательно простой вызов <code>Error</code> произведет тот же результат, что и конструктор <code>Error</code> объявленный через <code>new</code>.</p>
+<p>Когда <code>Error</code> используется как функции-- без {{jsxref("Operators/new", "new")}}, она возвращает <code>Error</code> объект. Следовательно простой вызов <code>Error</code> произведёт тот же результат, что и конструктор <code>Error</code> объявленный через <code>new</code>.</p>
<pre><code>// this:
const x = Error('I was created using a function call!');
diff --git a/files/ru/web/javascript/reference/global_objects/escape/index.html b/files/ru/web/javascript/reference/global_objects/escape/index.html
index edc41f8259..05ae768fd4 100644
--- a/files/ru/web/javascript/reference/global_objects/escape/index.html
+++ b/files/ru/web/javascript/reference/global_objects/escape/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/escape
---
<div>{{jsSidebar("Objects")}} {{deprecated_header}}</div>
-<p>Устаревший метод <code><strong>escape()</strong></code> возвращает новую строку, в которой определенные символы заменены шестнадцатеричной управляющей последовательностью.  Используйте методы {{jsxref("encodeURI")}} или {{jsxref("encodeURIComponent")}} вместо него.</p>
+<p>Устаревший метод <code><strong>escape()</strong></code> возвращает новую строку, в которой определённые символы заменены шестнадцатеричной управляющей последовательностью.  Используйте методы {{jsxref("encodeURI")}} или {{jsxref("encodeURIComponent")}} вместо него.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/eval/index.html b/files/ru/web/javascript/reference/global_objects/eval/index.html
index 0c32530435..49bec21796 100644
--- a/files/ru/web/javascript/reference/global_objects/eval/index.html
+++ b/files/ru/web/javascript/reference/global_objects/eval/index.html
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/eval
<p><code>eval()</code> можно использовать для вычисления значения арифметического выражения, записанного в строковом виде, на более поздней стадии исполнения. Предположим, существует переменная <code>x</code>. Можно отложить вычисление выражения, в котором содержится <code>х</code>, если присвоить переменной это выражение в виде строки (допустим, "<code>3 * x + 2</code>"), а затем вызвать <code>eval()</code> в более поздней точке кода.</p>
-<p>Если аргумент, переданный <code>eval()</code>, не является строкой, <code>eval() </code>возвращает его неизменным. В следующем примере определен конструктор <code>String</code>, и <code>eval()</code> не вычисляет значение выражения, записанного в строковом виде, а возвращает объект типа <code>String</code>.</p>
+<p>Если аргумент, переданный <code>eval()</code>, не является строкой, <code>eval() </code>возвращает его неизменным. В следующем примере определён конструктор <code>String</code>, и <code>eval()</code> не вычисляет значение выражения, записанного в строковом виде, а возвращает объект типа <code>String</code>.</p>
<pre class="brush:js notranslate">eval(new String("2 + 2")); // возвращает объект типа String, содержащий "2 + 2"
eval("2 + 2"); // возвращает 4
@@ -62,7 +62,7 @@ eval(expression.toString());
var x = 2, y = 4;
console.log(eval("x + y"));  // Прямой вызов, использует локальную области видимости, результат - 6
var geval = eval;
- console.log(geval("x + y")); // Непрямой вызов, использует глобальную область видимости, бросит ReferenceError, т.к. `x` - не определен
+ console.log(geval("x + y")); // Непрямой вызов, использует глобальную область видимости, бросит ReferenceError, т.к. `x` - не определён
}
</pre>
@@ -93,7 +93,7 @@ var result = obj[ propname ]; // obj[ "a" ] то же, что и obj.a
<h3 id="Используйте_функции_вместо_исполнения_фрагментов_кода">Используйте функции вместо исполнения фрагментов кода</h3>
-<p>У JavaScript <a class="external" href="http://en.wikipedia.org/wiki/First-class_function" title="http://en.wikipedia.org/wiki/First-class_function">функции первого класса</a>, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектов и так далее. Многие DOM API созданы с учетом этого, так что вы можете (и вам следует) писать:</p>
+<p>У JavaScript <a class="external" href="http://en.wikipedia.org/wiki/First-class_function" title="http://en.wikipedia.org/wiki/First-class_function">функции первого класса</a>, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектов и так далее. Многие DOM API созданы с учётом этого, так что вы можете (и вам следует) писать:</p>
<pre class="brush: js notranslate">// вместо setTimeout(" ... ", 1000) :
setTimeout(function() { ... }, 1000);
@@ -111,7 +111,7 @@ elt.addEventListener("click", function() { ... } , false); </pre>
<h3 id="Передавайте_данные_вместо_кода">Передавайте данные вместо кода</h3>
-<p>К примеру, расширение, созданное изменять содержимое веб-страниц, должно иметь правила, определенные в <a href="/en-US/docs/XPath" title="XPath">XPath</a>, а не JS коде.</p>
+<p>К примеру, расширение, созданное изменять содержимое веб-страниц, должно иметь правила, определённые в <a href="/en-US/docs/XPath" title="XPath">XPath</a>, а не JS коде.</p>
<h3 id="Выполняйте_код_с_ограниченными_правами">Выполняйте код с ограниченными правами</h3>
@@ -132,7 +132,7 @@ eval(z); // вернёт 42
<h3 id="Использование_eval_для_исполнения_строки_содержащей_операторы_JavaScript">Использование <code>eval</code> для исполнения строки, содержащей операторы JavaScript</h3>
-<p>Следующий пример использует <code>eval()</code> для получения значения выражения <code>str</code>. Эта строка состоит из JavaScript выражений, печатающих в консоль, и, если x равен пяти, призывающих z значение 42, или 0 в противном случае. Когда второе выражение будет исполнено, <code>eval()</code> будет считать выражения выполненными, а также это установит значение выражению переменной z и вернет его.</p>
+<p>Следующий пример использует <code>eval()</code> для получения значения выражения <code>str</code>. Эта строка состоит из JavaScript выражений, печатающих в консоль, и, если x равен пяти, призывающих z значение 42, или 0 в противном случае. Когда второе выражение будет исполнено, <code>eval()</code> будет считать выражения выполненными, а также это установит значение выражению переменной z и вернёт его.</p>
<pre class="brush:js notranslate">var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
@@ -141,7 +141,7 @@ console.log("z is ", eval(str));</pre>
<h3 id="Последнее_выражение_выполняется">Последнее выражение выполняется</h3>
-<p><code>eval()</code> вернет значение последнего выполняемого выражения</p>
+<p><code>eval()</code> вернёт значение последнего выполняемого выражения</p>
<pre class="brush:js notranslate">var str = "if ( a ) { 1+1; } else { 1+2; }";
var a = true;
@@ -202,7 +202,7 @@ var fct2 = eval(fctStr2) // вернёт функцию
<h3 id="Gecko-специфичные_замечания">Gecko-специфичные замечания</h3>
<ul>
- <li>Исторически <code>eval()</code> имел второй необязательный аргумент, указывающий на то, в контексте какого объекта будет выполняться выражение. Этот аргумент не был стандартизован и был удален из SpiderMonkey в Gecko 1.9.1 (Firefox 3.5). См. {{bug(442333)}}.</li>
+ <li>Исторически <code>eval()</code> имел второй необязательный аргумент, указывающий на то, в контексте какого объекта будет выполняться выражение. Этот аргумент не был стандартизован и был удалён из SpiderMonkey в Gecko 1.9.1 (Firefox 3.5). См. {{bug(442333)}}.</li>
</ul>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/float32array/index.html b/files/ru/web/javascript/reference/global_objects/float32array/index.html
index dcd127face..f8fbb0c603 100644
--- a/files/ru/web/javascript/reference/global_objects/float32array/index.html
+++ b/files/ru/web/javascript/reference/global_objects/float32array/index.html
@@ -185,7 +185,7 @@ var z = new Float32Array(buffer, 0, 4);
<h2 id="Заметки_по_совместимости">Заметки по совместимости</h2>
-<p>Начиная с ECMAScript 2015 (ES6), <code>Float32Array</code> конструктор обязательно должен вызываться с ключевым словом {{jsxref("Operators/new", "new")}}. Вызов <code>Float32Array</code> конструктора как функцию приведет к исключению {{jsxref("TypeError")}}.</p>
+<p>Начиная с ECMAScript 2015 (ES6), <code>Float32Array</code> конструктор обязательно должен вызываться с ключевым словом {{jsxref("Operators/new", "new")}}. Вызов <code>Float32Array</code> конструктора как функцию приведёт к исключению {{jsxref("TypeError")}}.</p>
<pre class="brush: js example-bad">var dv = Float32Array([1, 2, 3]);
// TypeError: calling a builtin Float32Array constructor
diff --git a/files/ru/web/javascript/reference/global_objects/function/bind/index.html b/files/ru/web/javascript/reference/global_objects/function/bind/index.html
index d153dc9e5c..78061cd192 100644
--- a/files/ru/web/javascript/reference/global_objects/function/bind/index.html
+++ b/files/ru/web/javascript/reference/global_objects/function/bind/index.html
@@ -32,18 +32,18 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/bind
<h2 id="Description" name="Description">Описание</h2>
-<p>Метод <code>bind()</code> создаёт новую "<strong>привязанную функцию</strong>" (<strong>ПФ</strong>).  <strong>ПФ</strong> <span class="translation-chunk">- это "необычный </span> <span class="translation-chunk">функциональный объект" ( термин из </span> <strong>ECMAScript 6</strong> <span class="translation-chunk"> ), который является оберткой над исходным </span> <span class="translation-chunk">функциональным объектом. Вызов </span> <strong>ПФ</strong> <span class="translation-chunk">  приводит к исполнению кода обернутой функции.</span></p>
+<p>Метод <code>bind()</code> создаёт новую "<strong>привязанную функцию</strong>" (<strong>ПФ</strong>).  <strong>ПФ</strong> <span class="translation-chunk">- это "необычный </span> <span class="translation-chunk">функциональный объект" ( термин из </span> <strong>ECMAScript 6</strong> <span class="translation-chunk"> ), который является обёрткой над исходным </span> <span class="translation-chunk">функциональным объектом. Вызов </span> <strong>ПФ</strong> <span class="translation-chunk">  приводит к исполнению кода обёрнутой функции.</span></p>
<p><strong>ПФ</strong> <span class="translation-chunk"> имеет следующие внутренние ( скрытые ) свойства:</span></p>
<ul>
<li><span class="translation-chunk"><strong>[[BoundTargetFunction]]</strong> - оборачиваемый  (целевой ) </span> <span class="translation-chunk">функциональный </span><span class="translation-chunk">объект</span></li>
- <li><span class="translation-chunk"><strong>[[BoundThis]]</strong> - значение, которое всегда передается в качестве значения   <strong>this </strong>при вызове обернутой функции.</span></li>
+ <li><span class="translation-chunk"><strong>[[BoundThis]]</strong> - значение, которое всегда передаётся в качестве значения   <strong>this </strong>при вызове обёрнутой функции.</span></li>
<li><span class="translation-chunk"><strong>[[BoundArguments]] </strong>- список значений, элементы которого используются в качестве первого аргумента при вызове оборачиваемой функции.</span></li>
<li><strong><span class="translation-chunk">[[</span>Call</strong><span class="translation-chunk"><strong>]] </strong>- внутренний метод. Выполняет код (функциональное выражение), связанный с функциональным объектом. </span></li>
</ul>
-<p><span class="translation-chunk">Когда <strong>ПФ </strong>вызывается, исполняется ее внутренний метод </span> <strong>[[Call]]</strong> <span class="translation-chunk"> со следующими аргументами </span> <strong>Call(<em>target</em>, <em>boundThis</em>, <em>args</em>).</strong></p>
+<p><span class="translation-chunk">Когда <strong>ПФ </strong>вызывается, исполняется её внутренний метод </span> <strong>[[Call]]</strong> <span class="translation-chunk"> со следующими аргументами </span> <strong>Call(<em>target</em>, <em>boundThis</em>, <em>args</em>).</strong></p>
<ul>
<li><strong><em>target</em></strong> <span class="translation-chunk">  -    <strong>[[BoundTargetFunction]]</strong>;</span></li>
@@ -163,7 +163,7 @@ emptyObj.x + ',' + emptyObj.y;
<h3 id="Example:_Creating_shortcuts" name="Example:_Creating_shortcuts">Пример: создание сокращений</h3>
-<p>Метод <code>bind()</code> также полезен в случаях, если вы хотите создать сокращение для функции, требующей определенное значение <code>this</code>.</p>
+<p>Метод <code>bind()</code> также полезен в случаях, если вы хотите создать сокращение для функции, требующей определённое значение <code>this</code>.</p>
<p>Возьмём, например, метод {{jsxref("Array.prototype.slice")}}, который вы можете использовать для преобразования массивоподобного объекта в настоящий массив. Вы можете создать подобное сокращение:</p>
diff --git a/files/ru/web/javascript/reference/global_objects/function/index.html b/files/ru/web/javascript/reference/global_objects/function/index.html
index 4b6b4f5825..a097213c69 100644
--- a/files/ru/web/javascript/reference/global_objects/function/index.html
+++ b/files/ru/web/javascript/reference/global_objects/function/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function
<p>{{JSRef}}</p>
-<p><strong><code>Function</code> constructor</strong> создает новый объект <code>Function</code>. Вызов <code>constructor</code> создает функцию динамически, но страдает от проблем безопасности и аналогичных (но гораздо менее значительных) проблем производительности {{jsxref("eval")}}. Однако, в отличие от eval, конструктор функций создает функции, которые выполняются только в глобальной области..</p>
+<p><strong><code>Function</code> constructor</strong> создаёт новый объект <code>Function</code>. Вызов <code>constructor</code> создаёт функцию динамически, но страдает от проблем безопасности и аналогичных (но гораздо менее значительных) проблем производительности {{jsxref("eval")}}. Однако, в отличие от eval, конструктор функций создаёт функции, которые выполняются только в глобальной области..</p>
<p>{{EmbedInteractiveExample("pages/js/function-constructor.html")}}</p>
diff --git a/files/ru/web/javascript/reference/global_objects/function/name/index.html b/files/ru/web/javascript/reference/global_objects/function/name/index.html
index 82a59765f2..b421c428a8 100644
--- a/files/ru/web/javascript/reference/global_objects/function/name/index.html
+++ b/files/ru/web/javascript/reference/global_objects/function/name/index.html
@@ -44,7 +44,7 @@ alert(doSomething.name); // выведет "doSomething"
<h3 id="Предполагаемые_имена_функций">Предполагаемые имена функций</h3>
-<p>Переменные и методы могут предположить название анонимной функции из ее синтаксической позиции  (new in ECMAScript 2015).</p>
+<p>Переменные и методы могут предположить название анонимной функции из её синтаксической позиции  (new in ECMAScript 2015).</p>
<pre class="brush: js">var f = function() {};
var object = {
@@ -79,7 +79,7 @@ alert(object.someMethod.name); //someMethod
<p>Для изменения name можно использовать {{jsxref("Object.defineProperty()")}}.</p>
-<h3 id="Сокращенные_имена_методов">Сокращенные имена методов</h3>
+<h3 id="Сокращённые_имена_методов">Сокращённые имена методов</h3>
<pre class="brush: js"><code>var o = {
foo(){}
@@ -129,7 +129,7 @@ console.log(fooInstance.constructor.name); // logs "Foo"</code>
}
</code></pre>
-<p>Со <code>static name()</code> методом <code>Foo.name</code> больше не содержит название класса, но отсылает к функции <code>name()</code>. Приведенное выше определение класса в ES2015 будет вести себя в Chrome и Firefx как в  ES5:</p>
+<p>Со <code>static name()</code> методом <code>Foo.name</code> больше не содержит название класса, но отсылает к функции <code>name()</code>. Приведённое выше определение класса в ES2015 будет вести себя в Chrome и Firefx как в  ES5:</p>
<pre><code>function Foo() {}
Object.defineProperty(Foo, 'name', { writable: true });
@@ -189,7 +189,7 @@ if (b.constructor.name === 'Foo') {
console.log('Oops!');
}</code></pre>
-<p>В несжатой версии код выполняется ожидаемо <code>"'foo' is an instance of 'Foo'"</code>. В то время, как в сжатой версии он ведет себя иначе. Если вы полагаетесь на <code>Function.name</code>, как в примере, то убедитесь, что pipeline не меняет код или не ожидайте от функции определенного имени.</p>
+<p>В несжатой версии код выполняется ожидаемо <code>"'foo' is an instance of 'Foo'"</code>. В то время, как в сжатой версии он ведёт себя иначе. Если вы полагаетесь на <code>Function.name</code>, как в примере, то убедитесь, что pipeline не меняет код или не ожидайте от функции определённого имени.</p>
<table class="standard-table">
<tbody>
diff --git a/files/ru/web/javascript/reference/global_objects/generator/index.html b/files/ru/web/javascript/reference/global_objects/generator/index.html
index 8e530ff328..41498f0dfa 100644
--- a/files/ru/web/javascript/reference/global_objects/generator/index.html
+++ b/files/ru/web/javascript/reference/global_objects/generator/index.html
@@ -40,7 +40,7 @@ console.log(generator().next().value); // 1</pre>
<dt>{{jsxref("Generator.prototype.return()")}}</dt>
<dd>Возвращает заданное значение и заканчивает генератор.</dd>
<dt>{{jsxref("Generator.prototype.throw()")}}</dt>
- <dd>Выдает ошибку генератора.</dd>
+ <dd>Выдаёт ошибку генератора.</dd>
</dl>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/generator/throw/index.html b/files/ru/web/javascript/reference/global_objects/generator/throw/index.html
index cfdf5d3bbc..77b096e858 100644
--- a/files/ru/web/javascript/reference/global_objects/generator/throw/index.html
+++ b/files/ru/web/javascript/reference/global_objects/generator/throw/index.html
@@ -26,11 +26,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Generator/throw
<li><code>done</code> (boolean)
<ul>
- <li>Имеет значение <code>true</code> если iterator прошел конец итерируемой последовательности. В этом случае <code>value</code> опционально определяется выражением <em>return value</em> внутри итератора .</li>
+ <li>Имеет значение <code>true</code> если iterator прошёл конец итерируемой последовательности. В этом случае <code>value</code> опционально определяется выражением <em>return value</em> внутри итератора .</li>
<li>Имеет значение <code>false</code> если iterator имеет возможность вернуть следующее значение последовательности. Это равносильно когда свойство done не указано.</li>
</ul>
</li>
- <li><code>value</code> - любое JavaScript значение,  возвращенное итератором. Может быть проигнорировано, когда <em><code>done</code> === <code>true</code></em>.</li>
+ <li><code>value</code> - любое JavaScript значение,  возвращённое итератором. Может быть проигнорировано, когда <em><code>done</code> === <code>true</code></em>.</li>
</ul>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/generatorfunction/index.html b/files/ru/web/javascript/reference/global_objects/generatorfunction/index.html
index 4cce9504e9..56264cb71d 100644
--- a/files/ru/web/javascript/reference/global_objects/generatorfunction/index.html
+++ b/files/ru/web/javascript/reference/global_objects/generatorfunction/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/GeneratorFunction
---
<div>{{JSRef}}</div>
-<p><strong><code>GeneratorFunction</code> constructor</strong> создает новый {{jsxref("Statements/function*", "generator function")}} объект. В JavaScript каждая функция-генератор - это фактически <code>GeneratorFunction</code> объект.</p>
+<p><strong><code>GeneratorFunction</code> constructor</strong> создаёт новый {{jsxref("Statements/function*", "generator function")}} объект. В JavaScript каждая функция-генератор - это фактически <code>GeneratorFunction</code> объект.</p>
<p><code>Обратите внимание, что GeneratorFunction</code> - это не глобальный объект. Он может быть получен при выполнении следующего кода.</p>
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/GeneratorFunction
<dl>
<dt><code>arg1, arg2, ... arg<em>N</em></code></dt>
- <dd>Имена, используемые функцией как имена формальных аргументов. Каждый должен быть строкой, которая соответствует правильному JavaScript идентификатору или списком таких строк, разделенных запятыми; например "<code>x</code>", "<code>theValue</code>", или "<code>a,b</code>".</dd>
+ <dd>Имена, используемые функцией как имена формальных аргументов. Каждый должен быть строкой, которая соответствует правильному JavaScript идентификатору или списком таких строк, разделённых запятыми; например "<code>x</code>", "<code>theValue</code>", или "<code>a,b</code>".</dd>
<dt><code>functionBody</code></dt>
<dd>A string containing the JavaScript statements comprising the function definition.</dd>
</dl>
diff --git a/files/ru/web/javascript/reference/global_objects/globalthis/index.html b/files/ru/web/javascript/reference/global_objects/globalthis/index.html
index ce4cb48419..0f12223b46 100644
--- a/files/ru/web/javascript/reference/global_objects/globalthis/index.html
+++ b/files/ru/web/javascript/reference/global_objects/globalthis/index.html
@@ -83,6 +83,6 @@ if (typeof globals.setTimeout !== 'function') {
<h3 id="Прогресс_реализации">Прогресс реализации</h3>
-<p>В следующей таблице приведено ежедневное состояние реализации этой функции, поскольку эта функция еще не достигла стабильности в разных браузерах. Данные генерируются путем запуска соответствующих тестов функциональности в <a href="https://github.com/tc39/test262">Test262</a>, стандартном наборе тестов JavaScript, в ночной сборке или в последней версии движка JavaScript каждого браузера.</p>
+<p>В следующей таблице приведено ежедневное состояние реализации этой функции, поскольку эта функция ещё не достигла стабильности в разных браузерах. Данные генерируются путём запуска соответствующих тестов функциональности в <a href="https://github.com/tc39/test262">Test262</a>, стандартном наборе тестов JavaScript, в ночной сборке или в последней версии движка JavaScript каждого браузера.</p>
<p>{{EmbedTest262ReportResultsTable("globalThis")}}</p>
diff --git a/files/ru/web/javascript/reference/global_objects/intl/index.html b/files/ru/web/javascript/reference/global_objects/intl/index.html
index 4316488c58..cb0df3d472 100644
--- a/files/ru/web/javascript/reference/global_objects/intl/index.html
+++ b/files/ru/web/javascript/reference/global_objects/intl/index.html
@@ -47,7 +47,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl
<li><code>"zh-Hans-CN"</code>: упрощённый китайский, используемый в Китае.</li>
</ul>
-<p>Подметки, определяющие языки, письменности, страны (регионы) и (используется не часто) варианты в языковых метках BCP 47 могут быть найдены в <a href="http://www.iana.org/assignments/language-subtag-registry">Реестре языковых подметок IANA</a>.</p>
+<p>Подмётки, определяющие языки, письменности, страны (регионы) и (используется не часто) варианты в языковых метках BCP 47 могут быть найдены в <a href="http://www.iana.org/assignments/language-subtag-registry">Реестре языковых подмёток IANA</a>.</p>
<p>BCP 47 также позволяет использовать расширения, и одно из них имеет значение для функций интернационализации JavaScript: это расширение <code>"u"</code> (Unicode). Оно может использоваться для запрашивания настраиваемого языка-зависимого поведения объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} или {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}. Примеры:</p>
diff --git a/files/ru/web/javascript/reference/global_objects/isfinite/index.html b/files/ru/web/javascript/reference/global_objects/isfinite/index.html
index eb1c6ee465..dcce428701 100644
--- a/files/ru/web/javascript/reference/global_objects/isfinite/index.html
+++ b/files/ru/web/javascript/reference/global_objects/isfinite/index.html
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/isFinite
<p><code>isFinite</code> это функция верхнего уровня и она не связана ни с одним объектом.</p>
-<p>Вы можете использовать эту функцию там, где требуется определить, является ли аргумент конечным числом. Функция <code>isFinite</code> исследует число в своем параметре. Если аргумент является NaN, положительной или отрицательной бесконечностью, метод вернет <code>false</code>; иначе возвращается <code>true</code>.</p>
+<p>Вы можете использовать эту функцию там, где требуется определить, является ли аргумент конечным числом. Функция <code>isFinite</code> исследует число в своём параметре. Если аргумент является NaN, положительной или отрицательной бесконечностью, метод вернёт <code>false</code>; иначе возвращается <code>true</code>.</p>
<h2 id="Examples" name="Examples">Примеры</h2>
@@ -59,7 +59,7 @@ isFinite(2e64); // true
isFinite("0"); // true, но было бы false если использовать
- // более надежный вариант Number.isFinite("0")
+ // более надёжный вариант Number.isFinite("0")
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/map/delete/index.html b/files/ru/web/javascript/reference/global_objects/map/delete/index.html
index f9e6cb1cf4..dfa69f8edb 100644
--- a/files/ru/web/javascript/reference/global_objects/map/delete/index.html
+++ b/files/ru/web/javascript/reference/global_objects/map/delete/index.html
@@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p><code>true</code> если элемент существовал в {{jsxref("Map")}} и он был удален или <code>false</code> если элемента с таким ключом не было.</p>
+<p><code>true</code> если элемент существовал в {{jsxref("Map")}} и он был удалён или <code>false</code> если элемента с таким ключом не было.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/map/entries/index.html b/files/ru/web/javascript/reference/global_objects/map/entries/index.html
index ccdd07a182..eb1a79956b 100644
--- a/files/ru/web/javascript/reference/global_objects/map/entries/index.html
+++ b/files/ru/web/javascript/reference/global_objects/map/entries/index.html
@@ -7,7 +7,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries
<p>Метод <code><strong>entries()</strong></code> возвращает новый <strong><a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators">Итератор</a></strong>, содержащий пары <code>[key, value]</code> для каждого элемента объекта {{jsxref("Map")}} в том порядке, в котором они были заведены.</p>
-<p>Исходный код всех примеров для  {{jsxref("Map")}} сохранен на GitHub <a href="https://github.com/mdn/interactive-examples/tree/master/live-examples/js-examples/map">https://github.com/mdn/interactive-examples/tree/master/live-examples/js-examples/map</a>.</p>
+<p>Исходный код всех примеров для  {{jsxref("Map")}} сохранён на GitHub <a href="https://github.com/mdn/interactive-examples/tree/master/live-examples/js-examples/map">https://github.com/mdn/interactive-examples/tree/master/live-examples/js-examples/map</a>.</p>
<p>Вы можете внести свой вклад, для этого: </p>
diff --git a/files/ru/web/javascript/reference/global_objects/map/foreach/index.html b/files/ru/web/javascript/reference/global_objects/map/foreach/index.html
index 20111c1cdc..27b5c25aa0 100644
--- a/files/ru/web/javascript/reference/global_objects/map/foreach/index.html
+++ b/files/ru/web/javascript/reference/global_objects/map/foreach/index.html
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach
<p>Если аргумент <code>thisArg</code> указан для <code>forEach</code>, то при вызове <code>callback</code> он будет передан в качестве значения <code>this</code>.  В противном случае для <code>this</code> будет передано <code>undefined</code>. Значение <code>this</code>, в конечном итоге наблюдаемое в функции <code>callback</code>, определяется в соответствии c <a href="/ru/docs/Web/JavaScript/Reference/Operators/this">обычными правилами определения <code>this</code> в функции.</a></p>
-<p>Каждое значение посещается один раз, за исключением случая, когда оно было удалено и добавлено снова до завершения <code>forEach</code>. <code>callback</code> не вызывается для значений, удаленных до их посещения. Новые значения будут посещены, если они добавлены до завершения <code>forEach</code>.</p>
+<p>Каждое значение посещается один раз, за исключением случая, когда оно было удалено и добавлено снова до завершения <code>forEach</code>. <code>callback</code> не вызывается для значений, удалённых до их посещения. Новые значения будут посещены, если они добавлены до завершения <code>forEach</code>.</p>
<p><code>forEach</code> исполняет функцию <code>callback</code> один раз для каждого элемента в объекте <code>Map</code>; не возвращает значение.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/map/get/index.html b/files/ru/web/javascript/reference/global_objects/map/get/index.html
index ae4ca29646..be837c802e 100644
--- a/files/ru/web/javascript/reference/global_objects/map/get/index.html
+++ b/files/ru/web/javascript/reference/global_objects/map/get/index.html
@@ -29,8 +29,8 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/get
<pre class="brush: js notranslate">var myMap = new Map();
myMap.set('bar', 'foo');
-myMap.get('bar'); // Вернет "foo".
-myMap.get('baz'); // Вернет undefined.
+myMap.get('bar'); // Вернёт "foo".
+myMap.get('baz'); // Вернёт undefined.
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/map/index.html b/files/ru/web/javascript/reference/global_objects/map/index.html
index 4548a2f79a..fe13de74df 100644
--- a/files/ru/web/javascript/reference/global_objects/map/index.html
+++ b/files/ru/web/javascript/reference/global_objects/map/index.html
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map
<h3 id="Сравнение_Объектов_и_Map">Сравнение Объектов и Map</h3>
-<p>Объекты похожи на <code>Map</code> в том, что оба позволяют устанавливать значения по ключам, получать эти значения, удалять ключи и проверять их наличие. В связи с этим (и потому, что не было встроенных альтернатив), {{jsxref("Object", "Объекты")}} исторически использовались как <code>Map</code>. Однако, у них есть ряд отличий, который дает преимущества <code>Map</code> в ряде случаев:</p>
+<p>Объекты похожи на <code>Map</code> в том, что оба позволяют устанавливать значения по ключам, получать эти значения, удалять ключи и проверять их наличие. В связи с этим (и потому, что не было встроенных альтернатив), {{jsxref("Object", "Объекты")}} исторически использовались как <code>Map</code>. Однако, у них есть ряд отличий, который даёт преимущества <code>Map</code> в ряде случаев:</p>
<ul>
<li>Ключами {{jsxref("Object", "Объекта")}} выступают {{jsxref("String", "Строки")}} и {{jsxref("Symbol", "Символы")}}, в то время как любое значение может быть ключом <code>Map</code>, включая {{jsxref("Function", "функции")}}, {{jsxref("Object", "объекты")}} и {{Glossary("Primitive", "примитивы")}}.</li>
@@ -74,7 +74,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear" title="The clear() method removes all elements from a Map object."><code>Map.prototype.clear()</code></a></dt>
<dd>Удаляет все пары ключ / значение из объекта <code>Map</code>.</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete" title="The delete() method removes the specified element from a Map object by key."><code>Map.prototype.delete(key)</code></a></dt>
- <dd>Возвращает <code>true</code>, если элемент в объекте <code>Map</code> существовал и был удален, или false, если элемент не существует. <code>Map.prototype.has(key)</code> вернет <code>false</code> позже.</dd>
+ <dd>Возвращает <code>true</code>, если элемент в объекте <code>Map</code> существовал и был удалён, или false, если элемент не существует. <code>Map.prototype.has(key)</code> вернёт <code>false</code> позже.</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries" title="The entries() method returns a new Iterator object that contains the [key, value] pairs for each element in the Map object in insertion order."><code>Map.prototype.entries()</code></a></dt>
<dd>Возвращает новый объект <code>Iterator</code> который содержит <strong>массив</strong> <strong><code>[key, value]</code></strong> для каждого элемента в объекте <code>Map</code> в порядке вставки.</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach" title="The forEach() method executes a provided function once per each key/value pair in the Map object, in insertion order."><code>Map.prototype.forEach(callbackFn[, thisArg])</code></a></dt>
diff --git a/files/ru/web/javascript/reference/global_objects/math/sqrt/index.html b/files/ru/web/javascript/reference/global_objects/math/sqrt/index.html
index 28d145db02..9fd81b98cd 100644
--- a/files/ru/web/javascript/reference/global_objects/math/sqrt/index.html
+++ b/files/ru/web/javascript/reference/global_objects/math/sqrt/index.html
@@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sqrt
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Квадратный корень заданного числа. Если число отрицательное, то вернется {{jsxref("NaN")}}.</p>
+<p>Квадратный корень заданного числа. Если число отрицательное, то вернётся {{jsxref("NaN")}}.</p>
<h2 id="Description" name="Description">Описание</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/nan/index.html b/files/ru/web/javascript/reference/global_objects/nan/index.html
index 7c91aebb62..ca61ca7c3e 100644
--- a/files/ru/web/javascript/reference/global_objects/nan/index.html
+++ b/files/ru/web/javascript/reference/global_objects/nan/index.html
@@ -45,7 +45,7 @@ valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true</code></pre>
-<p>Тем не менее, обратите внимание на разницу между функцией <code>isNaN()</code> и методом <code>Number.isNaN()</code>: первая вернет <code>true</code>, если значение в настоящий момент является <code>NaN</code>, или если оно станет <code>NaN</code> после того, как преобразуется в число, в то время как последний вернет <code>true</code>, только если текущим значением является <code>NaN</code>:</p>
+<p>Тем не менее, обратите внимание на разницу между функцией <code>isNaN()</code> и методом <code>Number.isNaN()</code>: первая вернёт <code>true</code>, если значение в настоящий момент является <code>NaN</code>, или если оно станет <code>NaN</code> после того, как преобразуется в число, в то время как последний вернёт <code>true</code>, только если текущим значением является <code>NaN</code>:</p>
<pre><code>isNaN('hello world'); // true
Number.isNaN('hello world'); // false</code></pre>
diff --git a/files/ru/web/javascript/reference/global_objects/null/index.html b/files/ru/web/javascript/reference/global_objects/null/index.html
index 085018dc12..22f65596e9 100644
--- a/files/ru/web/javascript/reference/global_objects/null/index.html
+++ b/files/ru/web/javascript/reference/global_objects/null/index.html
@@ -40,14 +40,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/null
<h3 id="Difference_between_null_and_undefined" name="Difference_between_null_and_undefined">Отличия между <code>null</code> и <code>undefined</code></h3>
-<p><code>null</code> является определенным значением отсутствия объекта, тогда как {{jsxref("Global_Objects/undefined", "undefined")}} обозначает неопределенность. Например: </p>
+<p><code>null</code> является определённым значением отсутствия объекта, тогда как {{jsxref("Global_Objects/undefined", "undefined")}} обозначает неопределённость. Например: </p>
<pre class="brush: js">var element;
-// значение переменной element до ее инициализации не определенно: undefined
+// значение переменной element до её инициализации не определённо: undefined
element = document.getElementById('not-exists');
// здесь при попытке получения несуществующего элемента, метод getElementById возвращает null
-// переменная element теперь инициализирована значением null, ее значение определено
+// переменная element теперь инициализирована значением null, её значение определено
</pre>
<p>При проверке на <code>null</code> или {{jsxref("Global_Objects/undefined", "undefined")}}, помните о <a href="/ru/docs/Web/JavaScript/Reference/Operators/Операторы_сравнения#Использование_операторов_равенства">различии между операторами равенства (==) и идентичности (===)</a>: с первым, выполняется преобразование типов. </p>
diff --git a/files/ru/web/javascript/reference/global_objects/object/create/index.html b/files/ru/web/javascript/reference/global_objects/object/create/index.html
index bb1da1642e..9af356adc0 100644
--- a/files/ru/web/javascript/reference/global_objects/object/create/index.html
+++ b/files/ru/web/javascript/reference/global_objects/object/create/index.html
@@ -34,7 +34,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create
<h3 id="Throws" name="Throws">Выбрасываемые исключения</h3>
-<p>Выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}, если параметр <code>proto</code> не является {{jsxref("Global_Objects/null", "null")}} или объектом (исключение составляют объекты-обертки примитивных типов).</p>
+<p>Выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}, если параметр <code>proto</code> не является {{jsxref("Global_Objects/null", "null")}} или объектом (исключение составляют объекты-обёртки примитивных типов).</p>
<h2 id="Examples" name="Examples">Примеры</h2>
@@ -170,7 +170,7 @@ o2 = Object.create({}, {
  var hasOwn = Object.prototype.hasOwnProperty;
return function (O) {
-  // 1. Если Type(O) не является Object or Null выдается исключение TypeError.
+  // 1. Если Type(O) не является Object or Null выдаётся исключение TypeError.
if (typeof O != 'object') {
throw TypeError('Object prototype may only be an Object or null');
}
@@ -183,7 +183,7 @@ o2 = Object.create({}, {
var obj = new Temp();
Temp.prototype = null; // Давайте не будем держать случайные ссылки на О...
-  // 4.  Если аргумент Properties присутствует и не определен, добавляем
+  // 4.  Если аргумент Properties присутствует и не определён, добавляем
  // собственные свойства к obj, как будто вызывая стандартную встроенную
  // функцию Object.defineProperties с аргументами obj и
  // Properties.
diff --git a/files/ru/web/javascript/reference/global_objects/object/entries/index.html b/files/ru/web/javascript/reference/global_objects/object/entries/index.html
index 87a9de90b8..7487e1241a 100644
--- a/files/ru/web/javascript/reference/global_objects/object/entries/index.html
+++ b/files/ru/web/javascript/reference/global_objects/object/entries/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries
---
<div>{{JSRef}}</div>
-<p><code><strong>Object.entries()</strong></code> метод возвращает массив собственных перечисляемых свойств указанного объекта в формате <code>[key, value]</code>, в том же порядке, что и в цикле {{jsxref("Statements/for...in", "for...in")}} (разница в том, что for-in перечисляет свойства из цепочки прототипов). Порядок элементов в массиве который возвращается <code><strong>Object.entries()</strong></code> не зависит от того как объект объявлен. Если существует необходимость в определенном порядке, то  массив должен быть отсортирован до вызова метода, например <code>Object.entries(obj).sort((a, b) =&gt; a[0] - b[0]);</code>.</p>
+<p><code><strong>Object.entries()</strong></code> метод возвращает массив собственных перечисляемых свойств указанного объекта в формате <code>[key, value]</code>, в том же порядке, что и в цикле {{jsxref("Statements/for...in", "for...in")}} (разница в том, что for-in перечисляет свойства из цепочки прототипов). Порядок элементов в массиве который возвращается <code><strong>Object.entries()</strong></code> не зависит от того как объект объявлен. Если существует необходимость в определённом порядке, то  массив должен быть отсортирован до вызова метода, например <code>Object.entries(obj).sort((a, b) =&gt; a[0] - b[0]);</code>.</p>
<p>{{EmbedInteractiveExample("pages/js/object-entries.html")}}</p>
diff --git a/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html b/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html
index 7bf1d17719..0a52348cb4 100644
--- a/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html
+++ b/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/fromEntries
<h2 id="Описание">Описание</h2>
-<p>Метод <code>Object.fromEntries()</code> принимает список пар ключ-значение и возвращает новый объект, свойства которого задаются этими записями. Ожидается, что аргумент <em>iterable </em>будет объектом, который реализует метод <code>@@iterator</code>, который возвращает объект итератора, который создает двухэлементный массивоподобный объект, первый элемент которого является значением, которое будет использоваться в качестве ключа свойства, а второй элемент — значением связанного с этим ключом свойства.</p>
+<p>Метод <code>Object.fromEntries()</code> принимает список пар ключ-значение и возвращает новый объект, свойства которого задаются этими записями. Ожидается, что аргумент <em>iterable </em>будет объектом, который реализует метод <code>@@iterator</code>, который возвращает объект итератора, который создаёт двухэлементный массивоподобный объект, первый элемент которого является значением, которое будет использоваться в качестве ключа свойства, а второй элемент — значением связанного с этим ключом свойства.</p>
<p><code>Object.fromEntries()</code> выполняет процедуру, обратную {{jsxref("Object.entries()")}}.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html b/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html
index 1700aa0e2c..62830748df 100644
--- a/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html
+++ b/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDes
<dt><code>set</code></dt>
<dd>Функция, которая служит установщиком для свойства, или {{jsxref("undefined")}} если установщика нет (только дескрипторы доступа).</dd>
<dt><code>configurable</code></dt>
- <dd><code>true</code> тогда и только тогда, когда тип этого свойства дескриптора может быть изменен, и если свойство может быть удалено из соответствующего объекта.</dd>
+ <dd><code>true</code> тогда и только тогда, когда тип этого свойства дескриптора может быть изменён, и если свойство может быть удалено из соответствующего объекта.</dd>
<dt><code>enumerable</code></dt>
<dd><code>true</code> тогда и только тогда, когда это свойство отображается при перечислении свойств соответствующего объекта.
<p> </p>
diff --git a/files/ru/web/javascript/reference/global_objects/object/values/index.html b/files/ru/web/javascript/reference/global_objects/object/values/index.html
index 38bfcb624a..112c18c60f 100644
--- a/files/ru/web/javascript/reference/global_objects/object/values/index.html
+++ b/files/ru/web/javascript/reference/global_objects/object/values/index.html
@@ -52,7 +52,7 @@ var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo;
my_obj.foo = "bar";
console.log(Object.values(my_obj)); // ['bar']
-// Аргумент, не являющийся объектом, будет приведен к объекту
+// Аргумент, не являющийся объектом, будет приведён к объекту
console.log(Object.values("foo")); // ['f', 'o', 'o']
</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/parsefloat/index.html b/files/ru/web/javascript/reference/global_objects/parsefloat/index.html
index 03cb0bc158..e108d37e8d 100644
--- a/files/ru/web/javascript/reference/global_objects/parsefloat/index.html
+++ b/files/ru/web/javascript/reference/global_objects/parsefloat/index.html
@@ -44,11 +44,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat
<p><code>parseFloat</code> - это высокоуровневая функция, не привязанная ни к одному объекту.</p>
-<p><code>parseFloat</code> разбирает текстовую строку, ищет и возвращает из нее десятичное число. Если функция встретит знак, отличный от (+ или -), цифр(0-9), разделительной точки, или показателя степени, она вернет значение, предшествующее этому знаку, игнорируя все последующие символы . Допускаются позади и впереди идущие пробелы.</p>
+<p><code>parseFloat</code> разбирает текстовую строку, ищет и возвращает из неё десятичное число. Если функция встретит знак, отличный от (+ или -), цифр(0-9), разделительной точки, или показателя степени, она вернёт значение, предшествующее этому знаку, игнорируя все последующие символы . Допускаются позади и впереди идущие пробелы.</p>
-<p>Если первый символ нельзя привести к числовому виду, <code>parseFloat</code> вернет<code> NaN</code>.</p>
+<p>Если первый символ нельзя привести к числовому виду, <code>parseFloat</code> вернёт<code> NaN</code>.</p>
-<p>С точки зрения математики, <code>значение NaN</code> не является числом в какой-либо системе счисления. Чтобы определить, вернет ли <code>parseFloat </code>значение {{jsxref("NaN")}} в качестве результата, можно вызвать функцию {{jsxref("Global_Objects/isNaN", "isNaN")}}. Если <code>NaN</code> участвует в арифметических операциях, результатом также будет <code>NaN</code>.</p>
+<p>С точки зрения математики, <code>значение NaN</code> не является числом в какой-либо системе счисления. Чтобы определить, вернёт ли <code>parseFloat </code>значение {{jsxref("NaN")}} в качестве результата, можно вызвать функцию {{jsxref("Global_Objects/isNaN", "isNaN")}}. Если <code>NaN</code> участвует в арифметических операциях, результатом также будет <code>NaN</code>.</p>
<p><code>parseFloat</code> также может вернуть значение <code>Infinity</code> ("бесконечность"). Вы можете использовать функцию {{jsxref("Global_Objects/isFinite", "isFinite")}}, чтобы определить, является ли результат конечным числом  (not <code>Infinity</code>, <code>-Infinity</code>, или <code>NaN</code>).</p>
@@ -76,7 +76,7 @@ parseFloat(foo);​​​​​</code></pre>
<h3 id="parseFloat_возвращает_NaN"><code>parseFloat</code> возвращает NaN</h3>
-<p>Пример ниже вернет <code>NaN</code></p>
+<p>Пример ниже вернёт <code>NaN</code></p>
<pre class="brush: js">parseFloat("FF2");
</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/parseint/index.html b/files/ru/web/javascript/reference/global_objects/parseint/index.html
index 093ad5971c..fd1942b04d 100644
--- a/files/ru/web/javascript/reference/global_objects/parseint/index.html
+++ b/files/ru/web/javascript/reference/global_objects/parseint/index.html
@@ -54,13 +54,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseInt
<ul>
<li>Если значение входного параметра <code>string</code> начинается с "<code>0x</code>" или "<code>0X</code>", <var>за основание системы счисления принимается 16, и интерпретации подвергается оставшаяся часть строки.</var></li>
- <li>Если значение входного параметра <code>string</code> начинается с "0", <var>за основание системы счисления принимается либо 8, либо 10, в зависимости от конкретной реализации.</var> В спецификации ECMAScript 5 прописано использование 10 (десятичная система), но это поддерживается еще не всеми браузерами, поэтому необходимо <strong>всегда указывать основание системы счисления при использовании функции </strong><strong><code>parseInt</code></strong>.</li>
+ <li>Если значение входного параметра <code>string</code> начинается с "0", <var>за основание системы счисления принимается либо 8, либо 10, в зависимости от конкретной реализации.</var> В спецификации ECMAScript 5 прописано использование 10 (десятичная система), но это поддерживается ещё не всеми браузерами, поэтому необходимо <strong>всегда указывать основание системы счисления при использовании функции </strong><strong><code>parseInt</code></strong>.</li>
<li>Если значение входного параметра <code>string</code> начинается с любого другого символа, система счисления считается десятичной (основание 10).</li>
</ul>
<p>Если первый символ строки не может быть преобразован в число, <code>parseInt</code> возвращает значение <code>NaN</code>.</p>
-<p>С точки зрения математики, значение <code>NaN</code> не является числом в какой-либо системе счисления. Чтобы определить, вернет ли <code>parseInt </code>значение<code> </code><code>NaN </code>в качестве результата, можно вызвать функцию {{jsxref("Global_Objects/isNaN", "isNaN")}}. Если <code>NaN</code> участвует в арифметических операциях, результатом также будет <code>NaN</code>.</p>
+<p>С точки зрения математики, значение <code>NaN</code> не является числом в какой-либо системе счисления. Чтобы определить, вернёт ли <code>parseInt </code>значение<code> </code><code>NaN </code>в качестве результата, можно вызвать функцию {{jsxref("Global_Objects/isNaN", "isNaN")}}. Если <code>NaN</code> участвует в арифметических операциях, результатом также будет <code>NaN</code>.</p>
<p>Для преобразования числа в строку в указанной системе счисления, используйте <code>intValue.toString(radix)</code>.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/all/index.html b/files/ru/web/javascript/reference/global_objects/promise/all/index.html
index b6291344c2..4a79cf71ab 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/all/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/all/index.html
@@ -27,19 +27,19 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>{{jsxref("Promise")}}, который будет выполнен когда будут выполнены все обещания, переданные в виде перечисляемого аргумента, или отклонен, если будет отклонено хоть одно из переданных обещаний.</p>
+<p>{{jsxref("Promise")}}, который будет выполнен когда будут выполнены все обещания, переданные в виде перечисляемого аргумента, или отклонён, если будет отклонено хоть одно из переданных обещаний.</p>
<h2 id="Description" name="Description">Описание</h2>
<p><strong>Promise.all</strong> возвращает массив значений от всех обещаний, которые были ему переданы. Возвращаемый массив значений сохраняет порядок оригинального перечисляемого объекта, но не порядок выполнения обещаний. <code>Если какой-либо элемент перечисляемого объекта не является обещанием, то он будет преобразован с помощью метода </code>{{jsxref("Promise.resolve")}}<code>.</code></p>
-<p>Если одно из переданных обещаний будет отклонено, <code><strong>Promise.all </strong></code>будет немедленно отклонен со значением отклоненного обещания, не учитывая другие обещания, независимо выполнены они или нет. Если в качестве аргумента будет передан пустой массив, то <code><strong>Promise.all</strong> </code>будет выполнен немедленно<code>. </code></p>
+<p>Если одно из переданных обещаний будет отклонено, <code><strong>Promise.all </strong></code>будет немедленно отклонён со значением отклонённого обещания, не учитывая другие обещания, независимо выполнены они или нет. Если в качестве аргумента будет передан пустой массив, то <code><strong>Promise.all</strong> </code>будет выполнен немедленно<code>. </code></p>
<h2 id="Примеры">Примеры</h2>
<h3 id="Использование_Promise.all">Использование <code>Promise.all</code></h3>
-<p><strong>Promise.all </strong>ждет выполнения всех обещаний (или первого метода <code><strong>reject</strong>()</code>).</p>
+<p><strong>Promise.all </strong>ждёт выполнения всех обещаний (или первого метода <code><strong>reject</strong>()</code>).</p>
<pre><code>var p1 = Promise.resolve(3);
var p2 = 1337;
@@ -57,7 +57,7 @@ Promise.all([p1, p2, p3]).then(values =&gt; {
<h3 id="Promise.all_поведение_немедленного_отклонения"><code>Promise.all</code> поведение немедленного отклонения</h3>
-<p><strong><code>Promise.all</code></strong> будет немедленно отклонен если одно из переданных обещаний будет отклонено: если у вас есть четыре обещания которые будут выполнены с задержкой и одно, которое будет отклонено немедленно - тогда <strong><code>Promise.all</code></strong> будет немедленно отклонен.</p>
+<p><strong><code>Promise.all</code></strong> будет немедленно отклонён если одно из переданных обещаний будет отклонено: если у вас есть четыре обещания которые будут выполнены с задержкой и одно, которое будет отклонено немедленно - тогда <strong><code>Promise.all</code></strong> будет немедленно отклонен.</p>
<pre><code>var p1 = new Promise((resolve, reject) =&gt; {
setTimeout(resolve, 1000, "one");
@@ -72,7 +72,7 @@ var p4 = new Promise((resolve, reject) =&gt; {
setTimeout(resolve, 4000, "four");
});
var p5 = new Promise((resolve, reject) =&gt; {
-// Это обещание прервет Promise.all
+// Это обещание прервёт Promise.all
reject("reject");
});
diff --git a/files/ru/web/javascript/reference/global_objects/promise/any/index.html b/files/ru/web/javascript/reference/global_objects/promise/any/index.html
index 339d9f7aad..fc85e0927c 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/any/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/any/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any
---
<div>{{JSRef}}</div>
-<p><code>Метод Promise.any()</code> принимает итерируемый объект содержащий объекты "обещаний" {{JSxRef("Promise")}}. Как только одно из "обещаний"(<code>Promise)</code> выполнится успешно(<code>fullfill</code>), метод возвратит единственный объект <code>Promise</code> со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно(если все "обещания" завершатся с ошибкой, т.е. <code>rejected</code>), тогда возвращенный объект promise будет отклонен(<code>rejected</code>) с одним из значений: массив содержащий причины ошибки(отклонения), или {{JSxRef("AggregateError")}} — подкласс {{JSxRef("Error")}}, который объединяет выброшенные ошибки вместе. По существу, метод <code>Promise.any()</code> является противоположностью для {{JSxRef("Promise.all()")}}.</p>
+<p><code>Метод Promise.any()</code> принимает итерируемый объект содержащий объекты "обещаний" {{JSxRef("Promise")}}. Как только одно из "обещаний"(<code>Promise)</code> выполнится успешно(<code>fullfill</code>), метод возвратит единственный объект <code>Promise</code> со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно(если все "обещания" завершатся с ошибкой, т.е. <code>rejected</code>), тогда возвращённый объект promise будет отклонён(<code>rejected</code>) с одним из значений: массив содержащий причины ошибки(отклонения), или {{JSxRef("AggregateError")}} — подкласс {{JSxRef("Error")}}, который объединяет выброшенные ошибки вместе. По существу, метод <code>Promise.any()</code> является противоположностью для {{JSxRef("Promise.all()")}}.</p>
<div class="blockIndicator warning">
<p><strong>Warning!</strong> The <code>Promise.any()</code> method is experimental and not fully supported by all browsers. It is currently in the <a href="https://github.com/tc39/proposal-promise-any" rel="external">TC39 Candidate stage (Stage 3)</a>.</p>
@@ -27,25 +27,25 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any
<ul>
<li><strong>Исполненный</strong> {{JSxRef("Promise")}}, если переданный итерируемый объект пуст.</li>
<li><strong>Исполненный асинхронно</strong> {{JSxRef("Promise")}}, если переданный итерируемый объект не содержит "обещаний"(promises).</li>
- <li>Во всех других случаях {{JSxRef("Promise")}} со статусом ожидания(<strong>pending)</strong>. Возвращенное "обещание" будет <strong>исполнено</strong>(resolved/rejected) <strong>асинхронно</strong> (как только стэк вызовов окажется пустым), когда одно(любое) "обещание" из  <em>переданного итерируемого объекта исполнится</em>, либо все "обещания" будут отклонены.</li>
+ <li>Во всех других случаях {{JSxRef("Promise")}} со статусом ожидания(<strong>pending)</strong>. Возвращённое "обещание" будет <strong>исполнено</strong>(resolved/rejected) <strong>асинхронно</strong> (как только стэк вызовов окажется пустым), когда одно(любое) "обещание" из  <em>переданного итерируемого объекта исполнится</em>, либо все "обещания" будут отклонены.</li>
</ul>
<h2 id="Описание">Описание</h2>
-<p>Метод полезен, когда нужно вернуть первое исполненное "обещание". После того как одно из "обещаний" будет исполнено, метод не будет дожидаться исполнения остальных. В отличие от {{JSxRef("Promise.all()")}}, который содержит <em>массив(Array)</em> значений исполненных обещаний, <code>Promise.any()</code> содержит только одно значение (при условии, что хотя бы одно из "обещаний" исполнено успешно). Такой подход может быть выгодным, когда нужно, чтобы выполнилось только одно "обещание", неважно какое. Также, в отличие от {{JSxRef("Promise.race()")}}, который возвращает "обещание", содержащее значение первого <strong>завершенного(resolved или rejected)</strong>, этот метод возвращает "обещание" содержащее значение первого <strong>успешно выполненного(resolved) </strong>"обещания". Метод будет игнорировать исполнение обещаний с ошибкой(rejection) вплоть до первого исполненного успешно(fullfilment).</p>
+<p>Метод полезен, когда нужно вернуть первое исполненное "обещание". После того как одно из "обещаний" будет исполнено, метод не будет дожидаться исполнения остальных. В отличие от {{JSxRef("Promise.all()")}}, который содержит <em>массив(Array)</em> значений исполненных обещаний, <code>Promise.any()</code> содержит только одно значение (при условии, что хотя бы одно из "обещаний" исполнено успешно). Такой подход может быть выгодным, когда нужно, чтобы выполнилось только одно "обещание", неважно какое. Также, в отличие от {{JSxRef("Promise.race()")}}, который возвращает "обещание", содержащее значение первого <strong>завершённого(resolved или rejected)</strong>, этот метод возвращает "обещание" содержащее значение первого <strong>успешно выполненного(resolved) </strong>"обещания". Метод будет игнорировать исполнение обещаний с ошибкой(rejection) вплоть до первого исполненного успешно(fullfilment).</p>
<h3 id="Успешное_исполнениеFullfilment">Успешное исполнение(Fullfilment)</h3>
-<p>Если одно из "обещаний" исполнится успешно, возвращенное "обещание" асинхронно исполнится успешно со значением выполненного "обещания", независимо от завершения остальных "обещаний".</p>
+<p>Если одно из "обещаний" исполнится успешно, возвращённое "обещание" асинхронно исполнится успешно со значением выполненного "обещания", независимо от завершения остальных "обещаний".</p>
<ul>
<li>Если передан пустой итерируемый объект, тогда метод возвращает (синхронно) выполненное "обещание".</li>
- <li>Если одно из переданных обещаний исполнится успешно, или в переданном итерируемом объекте не содержится "обещаний", "обещание" возвращенное из метода <code>Promise.any</code> асинхронно исполнится успешно.</li>
+ <li>Если одно из переданных обещаний исполнится успешно, или в переданном итерируемом объекте не содержится "обещаний", "обещание" возвращённое из метода <code>Promise.any</code> асинхронно исполнится успешно.</li>
</ul>
<h3 id="Исполнение_с_ошибкойRejection">Исполнение с ошибкой(Rejection)</h3>
-<p>Если все переданные "обещания" будут отклонены(rejected), <code>Promise.any</code> асинхронно будет отклонено в одном из двух вариантов (которые еще не были согласованы): либо</p>
+<p>Если все переданные "обещания" будут отклонены(rejected), <code>Promise.any</code> асинхронно будет отклонено в одном из двух вариантов (которые ещё не были согласованы): либо</p>
<ul>
<li>Массив(Array) содержащий причины отклонения всех "обещаний" переданных в итерируемом объекте, либо</li>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/catch/index.html b/files/ru/web/javascript/reference/global_objects/promise/catch/index.html
index 91d7970796..3515b9c63c 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/catch/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/catch/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/catch
---
<div>{{JSRef}}</div>
-<p>Метод <strong>catch()</strong> возвращает <code>Promise(</code>обещание) и работает только в случае отклонения обещания. Ведет себя аналогично вызову {{jsxref("Promise.then", "Promise.prototype.then(undefined, onRejected)")}}.</p>
+<p>Метод <strong>catch()</strong> возвращает <code>Promise(</code>обещание) и работает только в случае отклонения обещания. Ведёт себя аналогично вызову {{jsxref("Promise.then", "Promise.prototype.then(undefined, onRejected)")}}.</p>
<h2 id="Syntax">Syntax</h2>
@@ -31,7 +31,7 @@ p.catch(function(reason) {
<dt><code>reason</code></dt>
<dd>Причина отказа.</dd>
<dt>
- <p>Promise( Обещание ), возвращенное catch (), отклоняется, если onRejected выдает ошибку(throw) или возвращает Promise, который был отклонен; В противном случае Promise, возвращаемый catch () имеет статус  выполнено  (fulfilled)</p>
+ <p>Promise( Обещание ), возвращённое catch (), отклоняется, если onRejected выдаёт ошибку(throw) или возвращает Promise, который был отклонён; В противном случае Promise, возвращаемый catch () имеет статус  выполнено  (fulfilled)</p>
</dt>
</dl>
</dd>
@@ -72,7 +72,7 @@ p1.then(function(value) {
  console.log('Not fired due to the catch');
});
-// Следующий код ведет себя также, как вышенаписанный
+// Следующий код ведёт себя также, как вышенаписанный
p1.then(function(value) {
  console.log(value); // "Success!"
return Promise.reject('oh, no!');
diff --git a/files/ru/web/javascript/reference/global_objects/promise/finally/index.html b/files/ru/web/javascript/reference/global_objects/promise/finally/index.html
index b1a53051fa..c12f7625a0 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/finally/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/finally/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/finally
---
<div>{{JSRef}}</div>
-<p>Метод <code><strong>finally()</strong></code> возвращает {{jsxref("Promise")}}. Когда <code>Promise</code> (обещание) был выполнен, в не зависимости успешно или с ошибкой, указанная функция будет выполнена. Это дает возможность запустить один раз определенный участок кода, который должен выполниться вне зависимости от того, с каким результатом выполнился <code>Promise</code>.</p>
+<p>Метод <code><strong>finally()</strong></code> возвращает {{jsxref("Promise")}}. Когда <code>Promise</code> (обещание) был выполнен, в не зависимости успешно или с ошибкой, указанная функция будет выполнена. Это даёт возможность запустить один раз определённый участок кода, который должен выполниться вне зависимости от того, с каким результатом выполнился <code>Promise</code>.</p>
<p>Это позволяет вам избавиться от дубликации кода в обработчиках {{jsxref("Promise.then", "then()")}} и {{jsxref("Promise.catch", "catch()")}}.</p>
@@ -14,11 +14,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/finally
<pre class="syntaxbox"><var>p.finally(onFinally)</var>;
p.finally(function() {
- // завершен (успешно или с ошибкой)
+ // завершён (успешно или с ошибкой)
});
p.finally(() =&gt; {
-// завершен (успешно или с ошибкой)
+// завершён (успешно или с ошибкой)
});</pre>
<h3 id="Параметры">Параметры</h3>
@@ -40,7 +40,7 @@ p.finally(() =&gt; {
<ul>
<li>Использование <code>finally()</code> позволяет избежать двойного объявления одной и той же функции или создания переменной. </li>
- <li><code>finally</code> не получает аргументов, так как не существует способа определить, будет ли обещание выполнено успешно или с ошибкой. Данный метод необходимо использовать, если не важна причина ошибки или результат успешного выполнения и, следовательно, нет необходимости ее/его передавать.</li>
+ <li><code>finally</code> не получает аргументов, так как не существует способа определить, будет ли обещание выполнено успешно или с ошибкой. Данный метод необходимо использовать, если не важна причина ошибки или результат успешного выполнения и, следовательно, нет необходимости её/его передавать.</li>
<li>В отличие от <code>Promise.resolve(2).then(() =&gt; {}, () =&gt; {})</code> (результатом которого будет resolved-промис, со значением <code>undefined</code>), результатом <code>Promise.resolve(2).finally(() =&gt; {})</code> будет resolved-промис со значением <code>2</code>.</li>
<li>Аналогично, в отличии от <code>Promise.reject(3).then(() =&gt; {}, () =&gt; {})</code> (результатом которого будет resolved-промис, со значением <code>undefined</code>), результатом <code>Promise.reject(3).finally(() =&gt; {})</code> будет rejected-промис со значением <code>3</code>.</li>
</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/index.html b/files/ru/web/javascript/reference/global_objects/promise/index.html
index f5701b4694..7410136177 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/index.html
@@ -29,13 +29,13 @@ new Promise(function(resolve, reject) { ... });</pre>
<dl>
<dt>executor</dt>
- <dd>Объект функции с двумя аргументами <code>resolve</code> и <code>reject</code>. Функция <code>executor</code>  получает оба аргумента и выполняется сразу, еще до того как конструктор вернет созданный объект. Первый аргумент (<code>resolve</code>) вызывает успешное исполнение промиса, второй (<code>reject</code>) отклоняет его.<br>
+ <dd>Объект функции с двумя аргументами <code>resolve</code> и <code>reject</code>. Функция <code>executor</code>  получает оба аргумента и выполняется сразу, ещё до того как конструктор вернёт созданный объект. Первый аргумент (<code>resolve</code>) вызывает успешное исполнение промиса, второй (<code>reject</code>) отклоняет его.<br>
Обычно функция <code>executor</code> описывает выполнение какой-то асинхронной работы, по завершении которой необходимо вызвать функцию <code>resolve</code> или <code>reject</code>. Обратите внимание, что возвращаемое значение функции <code>executor</code> игнорируется.</dd>
</dl>
<h2 id="Описание">Описание</h2>
-<p>Интерфейс <code><strong>Promise</strong></code> (промис) представляет собой обертку для значения, неизвестного на момент создания промиса. Он позволяет обрабатывать результаты асинхронных операций так, как если бы они были синхронными: вместо конечного результата асинхронного метода возвращается <em>обещание </em>(промис)<em> </em>получить результат в некоторый момент в будущем.</p>
+<p>Интерфейс <code><strong>Promise</strong></code> (промис) представляет собой обёртку для значения, неизвестного на момент создания промиса. Он позволяет обрабатывать результаты асинхронных операций так, как если бы они были синхронными: вместо конечного результата асинхронного метода возвращается <em>обещание </em>(промис)<em> </em>получить результат в некоторый момент в будущем.</p>
<p><code>Promise</code> может находиться в трёх состояниях:</p>
@@ -45,14 +45,14 @@ new Promise(function(resolve, reject) { ... });</pre>
<li><em>отклонено (rejected)</em>: операция завершена с ошибкой.</li>
</ul>
-<p>При создании промис находится в <em>ожидании (pending)</em>, а затем может стать <em>исполненным </em> (<em>fulfilled)</em>, вернув полученный результат (значение), или <em>отклоненным </em>(<em>rejected),</em> вернув причину отказа. В любом из этих случаев вызывается обработчик, прикрепленный к промису методом <code>then</code>. (Если в момент назначения обработчика промис уже исполнен или отклонен, обработчик все равно будет вызван, т.е. асинхронное исполнение промиса и назначение обработчика не будет происходить в «состоянии гонки», как, например, в случае с событиями в DOM.)</p>
+<p>При создании промис находится в <em>ожидании (pending)</em>, а затем может стать <em>исполненным </em> (<em>fulfilled)</em>, вернув полученный результат (значение), или <em>отклонённым </em>(<em>rejected),</em> вернув причину отказа. В любом из этих случаев вызывается обработчик, прикреплённый к промису методом <code>then</code>. (Если в момент назначения обработчика промис уже исполнен или отклонён, обработчик все равно будет вызван, т.е. асинхронное исполнение промиса и назначение обработчика не будет происходить в «состоянии гонки», как, например, в случае с событиями в DOM.)</p>
<p>Так как методы <code>{{JSxRef("Promise.then", "Promise.prototype.then()")}}</code> и <code>{{JSxRef("Promise.catch", "Promise.prototype.catch()")}}</code> сами возвращают промис, их можно вызывать цепочкой, создавая <em>соединения.</em></p>
<p><img alt="" src="https://mdn.mozillademos.org/files/8633/promises.png" style="height: 297px; width: 801px;"></p>
<div class="blockIndicator note">
-<p><strong>Примечание:</strong> говорят, что промис находится в состоянии <em>завершен (settled) </em>когда он или исполнен или отклонен, т.е. в любом состоянии, кроме ожидания (это лишь форма речи, не являющаяся настоящим состоянием промиса). Также можно встретить термин <em>исполин (resolved) </em>— это значит что промис <em>завершен </em>или "заблокирован" в ожидании завершения другого промиса. В статье <a href="https://github.com/domenic/promises-unwrapping/blob/master/docs/states-and-fates.md">состояния и fates</a> приводится более подробное описание терминологии.</p>
+<p><strong>Примечание:</strong> говорят, что промис находится в состоянии <em>завершён (settled) </em>когда он или исполнен или отклонён, т.е. в любом состоянии, кроме ожидания (это лишь форма речи, не являющаяся настоящим состоянием промиса). Также можно встретить термин <em>исполин (resolved) </em>— это значит что промис <em>завершён </em>или "заблокирован" в ожидании завершения другого промиса. В статье <a href="https://github.com/domenic/promises-unwrapping/blob/master/docs/states-and-fates.md">состояния и fates</a> приводится более подробное описание терминологии.</p>
</div>
<h2 id="Свойства">Свойства</h2>
@@ -69,13 +69,13 @@ new Promise(function(resolve, reject) { ... });</pre>
<dl>
<dt>{{jsxref("Promise.all", "Promise.all(iterable)")}}</dt>
<dd>Ожидает исполнения всех промисов или отклонения любого из них.</dd>
- <dd>Возвращает промис, который исполнится после исполнения всех промисов в <code>iterable</code>. В случае, если любой из промисов будет отклонен, <code>Promise.all</code> будет также отклонен.</dd>
+ <dd>Возвращает промис, который исполнится после исполнения всех промисов в <code>iterable</code>. В случае, если любой из промисов будет отклонён, <code>Promise.all</code> будет также отклонен.</dd>
<dt>{{JSxRef("Promise.allSettled", "Promise.allSettled(iterable)")}}</dt>
<dd>Ожидает завершения всех полученных промисов (как исполнения так и отклонения).</dd>
<dd>Возвращает промис, который исполняется когда все полученные промисы завершены (исполнены или отклонены), содержащий массив результатов исполнения полученных промисов.</dd>
<dt>{{jsxref("Promise.race", "Promise.race(iterable)")}}</dt>
<dd>Ожидает исполнения или отклонения любого из полученных промисов.</dd>
- <dd>Возвращает промис, который будет исполнен или отклонен с результатом исполнения первого исполненного или отклонённого промиса из .<code>iterable</code>.</dd>
+ <dd>Возвращает промис, который будет исполнен или отклонён с результатом исполнения первого исполненного или отклонённого промиса из .<code>iterable</code>.</dd>
</dl>
<dl>
@@ -88,7 +88,7 @@ new Promise(function(resolve, reject) { ... });</pre>
<dd>Возвращает промис, исполненный с результатом <code>value</code>.</dd>
<dd>
<div class="hidden">
- <p>Если у <code>value</code> имеется метод <code>then</code>, то возвращаемый промис будет "следовать" продолжению, выступая адаптером его состояния; в противном случае будет возвращен промис в исполненном состоянии. Если вы не уверены, является ли некоторое значение промисом, вы можете обернуть его в  {{JSxRef("Promise.resolve", "Promise.resolve(value)")}} и продолжить работу с ним как с промисом.</p>
+ <p>Если у <code>value</code> имеется метод <code>then</code>, то возвращаемый промис будет "следовать" продолжению, выступая адаптером его состояния; в противном случае будет возвращён промис в исполненном состоянии. Если вы не уверены, является ли некоторое значение промисом, вы можете обернуть его в  {{JSxRef("Promise.resolve", "Promise.resolve(value)")}} и продолжить работу с ним как с промисом.</p>
</div>
</dd>
</dl>
@@ -105,7 +105,7 @@ new Promise(function(resolve, reject) { ... });</pre>
<h2 id="Создание_промиса">Создание промиса</h2>
-<p>Объект <code>Promise</code> создается при помощи ключевого слова <code>new</code> и своего конструктора. Конструктор <code>Promise</code> принимает в качестве аргумента функцию, называемую "исполнитель" (<em>executor function</em>). Эта функция должна принимать две функции-колбэка в качестве параметров. Первый из них (<code>resolve</code>) вызывается, когда асинхронная операция завершилась успешно и вернула результат своего исполнения в виде значения. Второй колбэк (<code>reject</code>) вызывается, когда операция не удалась, и возвращает значение, указывающее на причину неудачи, чаще всего объект ошибки.</p>
+<p>Объект <code>Promise</code> создаётся при помощи ключевого слова <code>new</code> и своего конструктора. Конструктор <code>Promise</code> принимает в качестве аргумента функцию, называемую "исполнитель" (<em>executor function</em>). Эта функция должна принимать две функции-колбэка в качестве параметров. Первый из них (<code>resolve</code>) вызывается, когда асинхронная операция завершилась успешно и вернула результат своего исполнения в виде значения. Второй колбэк (<code>reject</code>) вызывается, когда операция не удалась, и возвращает значение, указывающее на причину неудачи, чаще всего объект ошибки.</p>
<pre class="brush: js">const myFirstPromise = new Promise((resolve, reject) =&gt; {
// выполняется асинхронная операция, которая в итоге вызовет:
diff --git a/files/ru/web/javascript/reference/global_objects/promise/race/index.html b/files/ru/web/javascript/reference/global_objects/promise/race/index.html
index 79b3fba0b0..da184495a3 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/race/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/race/index.html
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race
---
<div>{{JSRef}}</div>
-<p>Метод<strong> Promise.race(iterable)</strong> возвращает выполненное или отклоненное обещание, в зависимости от того, с каким результатом завершится первое из переданных обещаний, со значением или причиной отклонения этого обещания.</p>
+<p>Метод<strong> Promise.race(iterable)</strong> возвращает выполненное или отклонённое обещание, в зависимости от того, с каким результатом завершится первое из переданных обещаний, со значением или причиной отклонения этого обещания.</p>
<p>{{EmbedInteractiveExample("pages/js/promise-race.html")}}</p>
@@ -27,11 +27,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Выполненный или отклоненный {{jsxref("Promise")}} в зависимости от результата первого завершенного из переданных в итерируемом объекте обещаний.</p>
+<p>Выполненный или отклонённый {{jsxref("Promise")}} в зависимости от результата первого завершённого из переданных в итерируемом объекте обещаний.</p>
<h2 id="Описание">Описание</h2>
-<p>Метод <code>race</code>  возвращает <code>Обещание </code>(<code>Promise</code>) с результатом, первого завершенного из переданных обещаний. Т.е. возвратит resolve или reject, в зависимости от того, что случится первым.</p>
+<p>Метод <code>race</code>  возвращает <code>Обещание </code>(<code>Promise</code>) с результатом, первого завершённого из переданных обещаний. Т.е. возвратит resolve или reject, в зависимости от того, что случится первым.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/reject/index.html b/files/ru/web/javascript/reference/global_objects/promise/reject/index.html
index 9bb06a2115..ebaed59a5f 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/reject/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/reject/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/reject
---
<div>{{JSRef}}</div>
-<p>Метод <code><strong>Promise.reject(reason)</strong></code> возвращает объект <code>Promise, который был отклонен по указанной причине</code>.</p>
+<p>Метод <code><strong>Promise.reject(reason)</strong></code> возвращает объект <code>Promise, который был отклонён по указанной причине</code>.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -19,13 +19,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/reject
<dt>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
- <p>Отклоненный с указанной причиной {{jsxref("Promise")}}.</p>
+ <p>Отклонённый с указанной причиной {{jsxref("Promise")}}.</p>
</dt>
</dl>
<h2 id="Описание">Описание</h2>
-<p><code>Promise.reject</code> возвращает <code>Promise</code> который был отклонен. В целях отладки и выборочного отлова ошибок, удобно использовать в качестве причины объекты {{jsxref("Error")}}.</p>
+<p><code>Promise.reject</code> возвращает <code>Promise</code> который был отклонён. В целях отладки и выборочного отлова ошибок, удобно использовать в качестве причины объекты {{jsxref("Error")}}.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html b/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html
index 1b5cff1c3e..f61fad91ec 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/resolve
---
<div>{{JSRef}}</div>
-<p>Метод <code><strong>Promise.resolve(value)</strong></code> возвращает {{jsxref("Promise")}} выполненный с переданным значением. Если переданное значение является thenable - объект (т.е. имеет метод {{jsxref("Promise.then", "\"then\" method")}}), возвращаемое обещание будет следовать thenable - объекту, принимая свое состояние; в ином случае возвращаемое обещание будет выполнено с переданным значением.</p>
+<p>Метод <code><strong>Promise.resolve(value)</strong></code> возвращает {{jsxref("Promise")}} выполненный с переданным значением. Если переданное значение является thenable - объект (т.е. имеет метод {{jsxref("Promise.then", "\"then\" method")}}), возвращаемое обещание будет следовать thenable - объекту, принимая своё состояние; в ином случае возвращаемое обещание будет выполнено с переданным значением.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/promise/then/index.html b/files/ru/web/javascript/reference/global_objects/promise/then/index.html
index 211b7692dd..a380cb5b5c 100644
--- a/files/ru/web/javascript/reference/global_objects/promise/then/index.html
+++ b/files/ru/web/javascript/reference/global_objects/promise/then/index.html
@@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/then
<p>Метод <code><strong>then()</strong></code> возвращает {{jsxref("Promise")}}. Метод может принимать два аргумента: колбэк-функции для случаев выполнения и отклонения промиса.</p>
<div class="note">
-<p> Если один или оба аргумента отсутствуют или их значения не функции, то <code>then</code> пропустит их и не выбросит ошибку. Если для <code>Promise</code>, который переходит в состояние <code>выполнен</code> или <code>отклонен</code> вызван метод <code>then</code>, и у данного метода нет нужного обработчика, то в таком случае <code>then</code> просто возвращает промис с состоянием начального <code>Promise</code>, для которого <code>then</code> был вызван.</p>
+<p> Если один или оба аргумента отсутствуют или их значения не функции, то <code>then</code> пропустит их и не выбросит ошибку. Если для <code>Promise</code>, который переходит в состояние <code>выполнен</code> или <code>отклонён</code> вызван метод <code>then</code>, и у данного метода нет нужного обработчика, то в таком случае <code>then</code> просто возвращает промис с состоянием начального <code>Promise</code>, для которого <code>then</code> был вызван.</p>
</div>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -32,7 +32,7 @@ p.then(value =&gt; {
<dt><code>onFulfilled</code> {{optional_inline}}</dt>
<dd>{{jsxref("Function")}} вызывается, когда <code>Promise</code> выполнен. Эта функция принимает один аргумент, значение с которым промис был выполнен. Если значение onFulfilled не функция, то оно автоматически заменяется на "Identity" функцию (возвращает полученный аргумент)</dd>
<dt><code>onRejected</code> {{optional_inline}}</dt>
- <dd>{{jsxref("Function")}} вызывается, когда <code>Promise</code>  отклонен. Эта функция принимает один аргумент, значение с которым промис был отклонен. Если значение onRejected не функция, то оно автоматически заменяется на "Thrower" функцию (выбрасывает полученный аргумент как ошибку)</dd>
+ <dd>{{jsxref("Function")}} вызывается, когда <code>Promise</code>  отклонён. Эта функция принимает один аргумент, значение с которым промис был отклонён. Если значение onRejected не функция, то оно автоматически заменяется на "Thrower" функцию (выбрасывает полученный аргумент как ошибку)</dd>
</dl>
<h2 id="Описание">Описание</h2>
@@ -58,7 +58,7 @@ p1.then(function(value) {
<h3 id="Соединение">Соединение</h3>
-<p>Так как метод <code>then</code> возвращает <code>Promise</code> (обещание), вы можете объединить несколько вызовов <code>then</code> в цепочку. Значения возвращаемые из onFulfilled или onRejected колбэков будут автоматически обернуты в обещание.</p>
+<p>Так как метод <code>then</code> возвращает <code>Promise</code> (обещание), вы можете объединить несколько вызовов <code>then</code> в цепочку. Значения возвращаемые из onFulfilled или onRejected колбэков будут автоматически обёрнуты в обещание.</p>
<pre class="brush: js notranslate">var p2 = new Promise(function(resolve, reject) {
resolve(1);
@@ -88,7 +88,7 @@ p2.then(function(value) {
var j = response.json();
// можем что-нибудь делать с j
return j; // в случае выполнения обещания, значение
- // передается в fetch_current_data().then()
+ // передаётся в fetch_current_data().then()
});
}
</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/reflect/construct/index.html b/files/ru/web/javascript/reference/global_objects/reflect/construct/index.html
index e5eaa5af39..e1c5fcbdbc 100644
--- a/files/ru/web/javascript/reference/global_objects/reflect/construct/index.html
+++ b/files/ru/web/javascript/reference/global_objects/reflect/construct/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/construct
---
<div>{{JSRef}}</div>
-<p>Статический метод <code><strong>Reflect</strong></code><strong><code>.construct()</code></strong> работает как <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code> operator</a>. Он эквивалентен <code>new target(...args)</code>. Это также дает дополнительную возможность указать другой прототип.</p>
+<p>Статический метод <code><strong>Reflect</strong></code><strong><code>.construct()</code></strong> работает как <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code> operator</a>. Он эквивалентен <code>new target(...args)</code>. Это также даёт дополнительную возможность указать другой прототип.</p>
<div>{{EmbedInteractiveExample("pages/js/reflect-construct.html")}}</div>
diff --git a/files/ru/web/javascript/reference/global_objects/reflect/index.html b/files/ru/web/javascript/reference/global_objects/reflect/index.html
index 9a93944a56..8f5f7bb306 100644
--- a/files/ru/web/javascript/reference/global_objects/reflect/index.html
+++ b/files/ru/web/javascript/reference/global_objects/reflect/index.html
@@ -71,7 +71,7 @@ Reflect.has(duck, 'haircut');
<h3 id="Добавление_нового_свойства_в_объект">Добавление нового свойства в объект</h3>
<pre class="brush: js notranslate">Reflect.set(duck, 'eyes', 'black');
-// вернется "true" если вызов успешен
+// вернётся "true" если вызов успешен
// объект "duck" теперь содержит свойство "eyes" со значением "black"</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html b/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html
index 8579639a52..c99438a6d8 100644
--- a/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html
+++ b/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys
---
<div>{{JSRef}}</div>
-<p>Статический метод <code><strong>Reflect</strong></code><strong><code>.ownKeys()</code></strong> возвращает массив имен, а также <code>Symbols</code> собственных полей объекта <code>target</code> .</p>
+<p>Статический метод <code><strong>Reflect</strong></code><strong><code>.ownKeys()</code></strong> возвращает массив имён, а также <code>Symbols</code> собственных полей объекта <code>target</code> .</p>
<div>{{EmbedInteractiveExample("pages/js/reflect-ownkeys.html")}}</div>
diff --git a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html
index 80c4692d97..fffdadf7c9 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@split
<p>Этот метод существует для кастомизации поведения (разбиения) подкласса <code>RegExp</code>.</p>
-<p>Если аргумент <code>str</code> <strong>не </strong>объект типа {{jsxref("RegExp")}}, метод {{jsxref("String.prototype.split()")}} не вызывается, так же не создается объект типа {{jsxref("RegExp")}}.</p>
+<p>Если аргумент <code>str</code> <strong>не </strong>объект типа {{jsxref("RegExp")}}, метод {{jsxref("String.prototype.split()")}} не вызывается, так же не создаётся объект типа {{jsxref("RegExp")}}.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/regexp/index.html b/files/ru/web/javascript/reference/global_objects/regexp/index.html
index 20b0d9b10e..359a8f167d 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/index.html
@@ -293,7 +293,7 @@ var re = new RegExp('\\w+');
<tr>
<td><code>\<em>n</em></code></td>
<td>
- <p>Где <code><em>n</em></code> является целым положительным числом. Обратная ссылка на последнюю сопоставившуюся подстроку в <em>n</em>-ных по счёту круглых скобках в регулярном выражении (нумерация скобок идет слева направо).</p>
+ <p>Где <code><em>n</em></code> является целым положительным числом. Обратная ссылка на последнюю сопоставившуюся подстроку в <em>n</em>-ных по счёту круглых скобках в регулярном выражении (нумерация скобок идёт слева направо).</p>
<p>Например, шаблон <code>/яблоко(,)\sапельсин\1/</code> сопоставится подстроке «яблоко, апельсин,» в строке «яблоко, апельсин, вишня, персик». Более подробный пример смотрите после этой таблицы.</p>
</td>
@@ -380,7 +380,7 @@ var re = new RegExp('\\w+');
<p><code><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Сопоставляется с </span></font><em>x</em></code>, только если <code><em>x</em></code> не предшествует <code><em>y</em></code></p>
<p>Например, <code>/(?&lt;!-)\d+/</code> сопоставится с цифрой, только если ей не предшествует минус.<br>
- <code>/(?&lt;!-)\d+/.exec('3')</code> вернет "3".<br>
+ <code>/(?&lt;!-)\d+/.exec('3')</code> вернёт "3".<br>
 <code>/(?&lt;!-)\d+/.exec('-3')</code>  не сопоставится с цифрой, тк цифре перед цифрой 3 присутствует минус.</p>
</td>
</tr>
diff --git a/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html b/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html
index 3d86f2958e..89551d517b 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html
@@ -19,7 +19,7 @@ RegExp['$&amp;']
<p>Значение свойства <code>lastMatch</code> доступно только для чтение и изменяется при успешном совпадении с регулярным выражением.</p>
-<p>Поскольку использование символа "&amp;" приведет к выбрасыванию ошибки {{jsxref("SyntaxError")}}, обратиться к данному свойству с помощью точечной нотации(<code>RegExp.$&amp;</code>) нельзя. Вместо этого стоит использовать <a href="/ru/docs/Web/JavaScript/Reference/Operators/Property_Accessors">скобочную нотацию</a> (<code>RegExp['$&amp;']</code>).</p>
+<p>Поскольку использование символа "&amp;" приведёт к выбрасыванию ошибки {{jsxref("SyntaxError")}}, обратиться к данному свойству с помощью точечной нотации(<code>RegExp.$&amp;</code>) нельзя. Вместо этого стоит использовать <a href="/ru/docs/Web/JavaScript/Reference/Operators/Property_Accessors">скобочную нотацию</a> (<code>RegExp['$&amp;']</code>).</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/regexp/n/index.html b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html
index 4873c56af0..5becd52a06 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/n/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/n
---
<div>{{JSRef}} {{non-standard_header}}</div>
-<p>Нестандартные свойства <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденные подстроки, обернутые в скобки.</p>
+<p>Нестандартные свойства <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденные подстроки, обёрнутые в скобки.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -26,7 +26,7 @@ RegExp.$9
<p>Значения этих свойств не доступны для изменения, они модифицируются всякий раз при успешном совпадении регулярного выражения.</p>
-<p>Количество возможных подстрок в круглых скобках неограничено, но объект <code>RegExp</code> может содержать в себе только последние 9. Вы можете получить доступ ко всем подстрокам, совпавшим с выражениями внутри круглых скобок, с помощью индексов возвращенного массива.</p>
+<p>Количество возможных подстрок в круглых скобках неограничено, но объект <code>RegExp</code> может содержать в себе только последние 9. Вы можете получить доступ ко всем подстрокам, совпавшим с выражениями внутри круглых скобок, с помощью индексов возвращённого массива.</p>
<p>Эти свойства могу использоваться при замене текста в методе {{jsxref("String.replace")}}. Когда используете его, не добавляйте их в <code>RegExp</code>. Пример ниже демонстрирует правильное применение. Когда круглые скобки не включены в регулярное выражение, код интерпретирует такие значения, как <code>$n</code> буквально, как литерал (n - положительное число).</p>
diff --git a/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html b/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html
index ea9db422df..af771e9feb 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html
@@ -53,7 +53,7 @@ console.log(regex.unicode); // true
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, зайдите на https://github.com/mdn/browser-compat-data и отправьте нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, зайдите на https://github.com/mdn/browser-compat-data и отправьте нам pull request.</div>
<p>{{Compat("javascript.builtins.RegExp.unicode")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/set/delete/index.html b/files/ru/web/javascript/reference/global_objects/set/delete/index.html
index e2ecf26cfd..e6987bffe3 100644
--- a/files/ru/web/javascript/reference/global_objects/set/delete/index.html
+++ b/files/ru/web/javascript/reference/global_objects/set/delete/index.html
@@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p><code>true</code>, если элемент был успешно удален из объекта <code>Set</code>, иначе <code>false</code>.</p>
+<p><code>true</code>, если элемент был успешно удалён из объекта <code>Set</code>, иначе <code>false</code>.</p>
<h2 id="Примеры">Примеры</h2>
@@ -35,15 +35,15 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete
<pre class="brush: js">var mySet = new Set();
mySet.add('foo');
-mySet.delete('bar'); // Вернет false. Отсутствует элемент "bar" для удаления.
-mySet.delete('foo'); // Вернет true. Успешно удален.
+mySet.delete('bar'); // Вернёт false. Отсутствует элемент "bar" для удаления.
+mySet.delete('foo'); // Вернёт true. Успешно удалён.
-mySet.has('foo'); // Вернет false. Элемент "foo" больше не присутствует.
+mySet.has('foo'); // Вернёт false. Элемент "foo" больше не присутствует.
</pre>
<p>Давайте проверим как удалить Object из Set.</p>
-<pre class="brush: js">var setObj = new Set(); // Создаем новый Set.
+<pre class="brush: js">var setObj = new Set(); // Создаём новый Set.
setObj.add({x: 10, y: 20}); // Добавляем объект в набор.
diff --git a/files/ru/web/javascript/reference/global_objects/set/foreach/index.html b/files/ru/web/javascript/reference/global_objects/set/foreach/index.html
index 5ed212666b..643c1f4b3f 100644
--- a/files/ru/web/javascript/reference/global_objects/set/foreach/index.html
+++ b/files/ru/web/javascript/reference/global_objects/set/foreach/index.html
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/forEach
<h3 id="Содержимое_объекта_Set">Содержимое объекта <code>Set</code> </h3>
-<p>Приведенный код показывает состояние каждого элемента в объекте <code>Set</code>:</p>
+<p>Приведённый код показывает состояние каждого элемента в объекте <code>Set</code>:</p>
<pre class="brush:js">function logSetElements(value1, value2, set) {
console.log('s[' + value1 + '] = ' + value2);
diff --git a/files/ru/web/javascript/reference/global_objects/set/set/index.html b/files/ru/web/javascript/reference/global_objects/set/set/index.html
index 66e1d0108e..5dabdcbd5d 100644
--- a/files/ru/web/javascript/reference/global_objects/set/set/index.html
+++ b/files/ru/web/javascript/reference/global_objects/set/set/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set
<dl>
<dt><code><var>iterable</var></code> {{optional_inline}}</dt>
<dd>
- <p>Если передается <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of">итеративный объект</a>, все его элементы будут добавлены в новый Set.</p>
+ <p>Если передаётся <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of">итеративный объект</a>, все его элементы будут добавлены в новый Set.</p>
<p>Если вы не укажете этот параметр или его значение равно нулю, новый набор будет пустым.</p>
</dd>
diff --git a/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html b/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html
index d625a5a809..ecd0cb98a9 100644
--- a/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html
+++ b/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
---
<div>{{JSRef}}</div>
-<p>Объект <strong><code>SharedArrayBuffer</code></strong> используется для создания разделенного буфера фиксированной длины для хранения примитивных бинарных данных, подобно объекту {{jsxref("ArrayBuffer")}}, но могут быть использованы для создания обзора на разделенную память. В отличие от <code>ArrayBuffer</code>, <code>SharedArrayBuffer</code> не может быть отсоединен.</p>
+<p>Объект <strong><code>SharedArrayBuffer</code></strong> используется для создания разделённого буфера фиксированной длины для хранения примитивных бинарных данных, подобно объекту {{jsxref("ArrayBuffer")}}, но могут быть использованы для создания обзора на разделённую память. В отличие от <code>ArrayBuffer</code>, <code>SharedArrayBuffer</code> не может быть отсоединен.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -29,15 +29,15 @@ translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
<p>Для разделения памяти с помощью объекта {{jsxref("SharedArrayBuffer")}} между одним агентом в кластере и другим (агент может быть как основной программой web-страницы, так и одним из web-workers), используются <code><a href="/en-US/docs/Web/API/Worker/postMessage">postMessage</a></code> и <a href="/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm">structured cloning</a>.</p>
-<p>Алгоритм структурированного клонирования принимает <code>SharedArrayBuffers</code> и <code>TypedArrays,</code> отображенный в <code>SharedArrayBuffers</code>. В обоих случаях, объект  <code>SharedArrayBuffer</code> передается получателю, результируя в новый, приватный объект SharedArrayBuffer внутри агента-получателя (так же как для {{jsxref("ArrayBuffer")}}). Однако, блок общих данных, на который ссылаются оба объекта <code>SharedArrayBuffer, </code>это один и тот же блок данных, и сторонние эффекты в блоке в одном из агентов в итоге станут заметны в другом агенте.</p>
+<p>Алгоритм структурированного клонирования принимает <code>SharedArrayBuffers</code> и <code>TypedArrays,</code> отображённый в <code>SharedArrayBuffers</code>. В обоих случаях, объект  <code>SharedArrayBuffer</code> передаётся получателю, результируя в новый, приватный объект SharedArrayBuffer внутри агента-получателя (так же как для {{jsxref("ArrayBuffer")}}). Однако, блок общих данных, на который ссылаются оба объекта <code>SharedArrayBuffer, </code>это один и тот же блок данных, и сторонние эффекты в блоке в одном из агентов в итоге станут заметны в другом агенте.</p>
<pre class="brush: js">var sab = new SharedArrayBuffer(1024);
worker.postMessage(sab);
</pre>
-<h3 id="Обновление_и_синхронизация_разделенной_памяти_с_помощью_Атомарных_операций">Обновление и синхронизация разделенной памяти с помощью Атомарных операций</h3>
+<h3 id="Обновление_и_синхронизация_разделённой_памяти_с_помощью_Атомарных_операций">Обновление и синхронизация разделённой памяти с помощью Атомарных операций</h3>
-<p>Разделенная память может быть создана и изменена одновременно в  workers или основном потоке. В зависимости от системы (ЦПУ, ОС, браузер) может уйти время пока изменения будут распространены по всем контекстам. Для синхронизации необходимы {{jsxref("Атомарные", "атомарные", "", 1)}} операции .</p>
+<p>Разделённая память может быть создана и изменена одновременно в  workers или основном потоке. В зависимости от системы (ЦПУ, ОС, браузер) может уйти время пока изменения будут распространены по всем контекстам. Для синхронизации необходимы {{jsxref("Атомарные", "атомарные", "", 1)}} операции .</p>
<h3 id="API_принимающие_объекты_SharedArrayBuffer">API, принимающие объекты <code>SharedArrayBuffer</code></h3>
@@ -61,7 +61,7 @@ worker.postMessage(sab);
<dl>
<dt><code>SharedArrayBuffer.length</code></dt>
- <dd>Длина конструктора <code>SharedArrayBuffer,</code> чье значение равно 1.</dd>
+ <dd>Длина конструктора <code>SharedArrayBuffer,</code> чьё значение равно 1.</dd>
<dt>{{jsxref("SharedArrayBuffer.prototype")}}</dt>
<dd>Позволяет дополнительные свойства для всех объектов <code>SharedArrayBuffer</code>.</dd>
</dl>
diff --git a/files/ru/web/javascript/reference/global_objects/string/match/index.html b/files/ru/web/javascript/reference/global_objects/string/match/index.html
index 2819776d46..e857555cc6 100644
--- a/files/ru/web/javascript/reference/global_objects/string/match/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/match/index.html
@@ -70,7 +70,7 @@ console.log(found);
// '.1' - это последнее значение, сопоставленное с группой `(\.\d)`.
// Свойство 'index' содержит значение (0) индекса совпадения
// относительно начала сопоставления
-// Свойство 'input' содержит значение введенной строки.</pre>
+// Свойство 'input' содержит значение введённой строки.</pre>
<h3 id="Example_Using_global_and_ignore_case_flags_with_match" name="Example:_Using_global_and_ignore_case_flags_with_match">Пример: использование флагов глобальности и игнорирования регистра с методом <code>match()</code></h3>
diff --git a/files/ru/web/javascript/reference/global_objects/string/matchall/index.html b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html
index 6c8defbc17..1b698ae6cc 100644
--- a/files/ru/web/javascript/reference/global_objects/string/matchall/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html
@@ -72,7 +72,7 @@ Array.from(matches, m =&gt; m[0]);
<h3 id="Улучшенный_доступ_к_группам_захвата">Улучшенный доступ к группам захвата</h3>
-<p>Еще одна веская причина использовать <code>matchAll</code> это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match">match()</a></code> с глобальным флагом <code>/g</code>:</p>
+<p>Ещё одна веская причина использовать <code>matchAll</code> это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match">match()</a></code> с глобальным флагом <code>/g</code>:</p>
<pre class="brush: js notranslate">var regexp = /t(e)(st(\d?))/g;
var str = 'test1test2';
diff --git a/files/ru/web/javascript/reference/global_objects/string/padend/index.html b/files/ru/web/javascript/reference/global_objects/string/padend/index.html
index a380c3f50d..45c72b87e2 100644
--- a/files/ru/web/javascript/reference/global_objects/string/padend/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/padend/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
---
<div>{{JSRef}}{{SeeCompatTable}}</div>
-<p>Метод <strong><code>padEnd()</code></strong> дополняет текущую строку с помощью заданной строки (в конечном счете повторяя), так чтобы результирующая строка достигла заданной длины. Дополнение применяется в конце (справа) текущей строки.</p>
+<p>Метод <strong><code>padEnd()</code></strong> дополняет текущую строку с помощью заданной строки (в конечном счёте повторяя), так чтобы результирующая строка достигла заданной длины. Дополнение применяется в конце (справа) текущей строки.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
<dt><code>targetLength</code></dt>
<dd>Длина результирующей строки, после того как текущая строка была дополнена. Если этот параметр меньше длины текущей строки, то будет возвращена текущая строка , как она есть.</dd>
<dt><code>padString</code> {{optional_inline}}</dt>
- <dd>Строка для дополнения текущей строки с. Если эта строка слишком длинная, она будет урезана и будет применяться ее левая большая часть. " " (U+0020) - значение по умолчанию для этого параметра.</dd>
+ <dd>Строка для дополнения текущей строки с. Если эта строка слишком длинная, она будет урезана и будет применяться её левая большая часть. " " (U+0020) - значение по умолчанию для этого параметра.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
<h2 id="Характеристики">Характеристики</h2>
-<p>Этот метод еще не достиг стандарта ECMAScript. Сейчас он в состоянии <a href="https://github.com/tc39/proposal-string-pad-start-end">proposal for ECMAScript</a>.</p>
+<p>Этот метод ещё не достиг стандарта ECMAScript. Сейчас он в состоянии <a href="https://github.com/tc39/proposal-string-pad-start-end">proposal for ECMAScript</a>.</p>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html
index 8ccf95507f..432f977fc5 100644
--- a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html
@@ -7,7 +7,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<p><span class="seoSummary">Метод <strong><code>replaceAll()</code></strong> возвращает новую строку со всеми совпадениями <code>pattern</code> , который меняется на <code>replacement</code>. </span><code>pattern</code> может быть строкой или регулярным выражением, и <code>replacement</code> может быть строкой или функция возвращающая каждое совпадение.</p>
-<p>Исходная строка остается без изменений.</p>
+<p>Исходная строка остаётся без изменений.</p>
<div>{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}</div>
@@ -19,14 +19,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
</pre>
<div class="blockIndicator note">
-<p>Когда вы используете `<var>regexp</var>` вы должны установить флаг глобального поиска ("g"), иначе вернется ошибка <code>TypeError</code>: "replaceAll must be called with a global RegExp".</p>
+<p>Когда вы используете `<var>regexp</var>` вы должны установить флаг глобального поиска ("g"), иначе вернётся ошибка <code>TypeError</code>: "replaceAll must be called with a global RegExp".</p>
</div>
<h3 id="Parameters">Parameters</h3>
<dl>
<dt><code><var>regexp</var></code> (pattern)</dt>
- <dd>Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на <code><var>newSubstr</var></code> или значении возвращенное указанной функцией <code><var>function</var></code>. A RegExp без глобального флага поиска ("g") вернет ошибку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd>
+ <dd>Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на <code><var>newSubstr</var></code> или значении возвращённое указанной функцией <code><var>function</var></code>. A RegExp без глобального флага поиска ("g") вернёт ошибку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd>
<dt><code><var>substr</var></code></dt>
<dd>Подстрока, которая заменится <code><var>newSubstr</var></code>. Обрабатывается как буквенная строка, не интерпретируется как регулярное выражение.</dd>
<dt><code><var>newSubstr</var></code> (replacement)</dt>
@@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<h3 id="Указание_строки_в_качестве_параметра">Указание строки в качестве параметра</h3>
-<p>Замененная строка может включатся в следующие специальные шаблоны:</p>
+<p>Заменённая строка может включатся в следующие специальные шаблоны:</p>
<table class="standard-table">
<thead>
@@ -82,7 +82,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<p>Вы можете передать функцию вторым параметром. Этом случае, функция вызывается после нахождения совпадений. Результат функции может быть использована как замещающая строка. (<strong>Внимание:</strong> Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)</p>
-<p>Функция может быть вызвана многократно для каждого замененного совпадения, если регулярное выражение указано с глобальным флагом("g").</p>
+<p>Функция может быть вызвана многократно для каждого заменённого совпадения, если регулярное выражение указано с глобальным флагом("g").</p>
<p>Функция имеет следующие аргументы:</p>
diff --git a/files/ru/web/javascript/reference/global_objects/string/slice/index.html b/files/ru/web/javascript/reference/global_objects/string/slice/index.html
index 5b6f3895c4..021c1839ae 100644
--- a/files/ru/web/javascript/reference/global_objects/string/slice/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/slice/index.html
@@ -35,7 +35,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Новая строка, содержащая извлеченную часть строки.</p>
+<p>Новая строка, содержащая извлечённую часть строки.</p>
<h2 id="Description" name="Description">Описание</h2>
@@ -75,15 +75,15 @@ str.slice(0, -1); // вернёт 'Приближается утро'
<p>В этом примере начальным индексом считается <code>11</code>-й символ с конца строки, а конечным - <code>16</code>-й с начала.</p>
-<pre class="brush: js notranslate">str.slice(-11, 16); // вернет 'ается утр'</pre>
+<pre class="brush: js notranslate">str.slice(-11, 16); // вернёт 'ается утр'</pre>
<p>Здесь начальным индексом считается <code>6</code>-й символ от начала строки, а конечным - <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">7</span></font>-й с конца.</p>
-<pre class="brush: js notranslate">str.slice(6, -7); // вернет 'жаетс'</pre>
+<pre class="brush: js notranslate">str.slice(6, -7); // вернёт 'жаетс'</pre>
<p>В этом примере оба индекса считаются с конца строки: <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">5</span></font>-й для начального индекса, <code>1</code>-й для конечного.</p>
-<pre class="brush: js notranslate">str.slice(-5, -1); // вернет 'утро'</pre>
+<pre class="brush: js notranslate">str.slice(-5, -1); // вернёт 'утро'</pre>
<h2 id="Specifications" name="Specifications">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/symbol/for/index.html b/files/ru/web/javascript/reference/global_objects/symbol/for/index.html
index 5b4a6ee85c..87d85f23ce 100644
--- a/files/ru/web/javascript/reference/global_objects/symbol/for/index.html
+++ b/files/ru/web/javascript/reference/global_objects/symbol/for/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/for
---
<div>{{JSRef}}</div>
-<p>Метод <code><strong>Symbol.for(key)</strong></code> ищет ранее созданный разделяемый символ по заданному ключу и возвращает его, если он найден. В противном случае создается новый разделяемый символ для данного ключа в глобальном реестре символов.</p>
+<p>Метод <code><strong>Symbol.for(key)</strong></code> ищет ранее созданный разделяемый символ по заданному ключу и возвращает его, если он найден. В противном случае создаётся новый разделяемый символ для данного ключа в глобальном реестре символов.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/symbol/index.html b/files/ru/web/javascript/reference/global_objects/symbol/index.html
index 739474189c..71361cc695 100644
--- a/files/ru/web/javascript/reference/global_objects/symbol/index.html
+++ b/files/ru/web/javascript/reference/global_objects/symbol/index.html
@@ -35,7 +35,7 @@ var sym2 = Symbol("foo");
var sym3 = Symbol("foo");
</pre>
-<p>Код выше создает три новых символа. Заметьте, что <code>Symbol("foo")</code> не выполняет приведение (англ. coercion) строки "foo" к символу. Это выражение создает каждый раз новый символ:</p>
+<p>Код выше создаёт три новых символа. Заметьте, что <code>Symbol("foo")</code> не выполняет приведение (англ. coercion) строки "foo" к символу. Это выражение создаёт каждый раз новый символ:</p>
<pre class="brush: js">Symbol("foo") === Symbol("foo"); // false</pre>
@@ -55,7 +55,7 @@ typeof symObj; // "object"
<h3 id="Разделяемые_символы_в_глобальном_символьном_реестре">Разделяемые символы в глобальном символьном реестре</h3>
-<p>Приведенный выше синтаксис, использующий функцию <code>Symbol(),</code> не создаст глобальный символ, который был бы доступен в любом месте вашего кода. Для создания символов, доступных во всех файлах и в окружении (глобальной области), используйте методы {{jsxref("Symbol.for()")}} и {{jsxref("Symbol.keyFor()")}}, чтобы задать или получить символ из глобального символьного реестра.</p>
+<p>Приведённый выше синтаксис, использующий функцию <code>Symbol(),</code> не создаст глобальный символ, который был бы доступен в любом месте вашего кода. Для создания символов, доступных во всех файлах и в окружении (глобальной области), используйте методы {{jsxref("Symbol.for()")}} и {{jsxref("Symbol.keyFor()")}}, чтобы задать или получить символ из глобального символьного реестра.</p>
<h3 id="Поиск_символьных_свойств_у_объектов">Поиск символьных свойств у объектов</h3>
@@ -97,9 +97,9 @@ typeof symObj; // "object"
<dt>{{jsxref("Symbol.hasInstance")}}</dt>
<dd>Метод, определяющий, распознает ли конструктор некоторый объект как свой экземпляр. Используется оператором {{jsxref("Operators/instanceof", "instanceof")}}.</dd>
<dt>{{jsxref("Symbol.isConcatSpreadable")}}</dt>
- <dd>Булево значение, показывающее, должен ли объект быть сведен к плоскому представлению (англ. flatten) в виде массива его элементов функцией {{jsxref("Array.prototype.concat()")}}.</dd>
+ <dd>Булево значение, показывающее, должен ли объект быть сведён к плоскому представлению (англ. flatten) в виде массива его элементов функцией {{jsxref("Array.prototype.concat()")}}.</dd>
<dt>{{jsxref("Symbol.unscopables")}}</dt>
- <dd>Массив строковых имен свойств. Позволяет скрыть свойства от инструкции with (прежде всего для обратной совместимости).</dd>
+ <dd>Массив строковых имён свойств. Позволяет скрыть свойства от инструкции with (прежде всего для обратной совместимости).</dd>
<dt>{{jsxref("Symbol.species")}}</dt>
<dd>Метод, определяющий конструктор для порождённых объектов.</dd>
<dt>{{jsxref("Symbol.toPrimitive")}}</dt>
@@ -112,7 +112,7 @@ typeof symObj; // "object"
<dl>
<dt>{{jsxref("Symbol.for()", "Symbol.for(key)")}}</dt>
- <dd>Ищет существующие символы по заданному ключу и возвращает его, если он найден. В противном случае создается новый символ для данного ключа в глобальном реестре символов.</dd>
+ <dd>Ищет существующие символы по заданному ключу и возвращает его, если он найден. В противном случае создаётся новый символ для данного ключа в глобальном реестре символов.</dd>
<dt>{{jsxref("Symbol.keyFor", "Symbol.keyFor(sym)")}}</dt>
<dd>Получает по разделяемому символу его ключ из глобального реестра символов.</dd>
</dl>
@@ -153,7 +153,7 @@ typeof Symbol.iterator === 'symbol'
<h3 id="Символы_и_конструкция_for...in">Символы и конструкция <code>for...in</code></h3>
-<p>Символы не перечисляются при итерации {{jsxref("Statements/for...in","for...in")}}. В дополнение к этому, {{jsxref("Object.getOwnPropertyNames()")}} не вернет символьные свойства объекта. Тем не менее, их можно получить с помощью {{jsxref("Object.getOwnPropertySymbols()")}}.</p>
+<p>Символы не перечисляются при итерации {{jsxref("Statements/for...in","for...in")}}. В дополнение к этому, {{jsxref("Object.getOwnPropertyNames()")}} не вернёт символьные свойства объекта. Тем не менее, их можно получить с помощью {{jsxref("Object.getOwnPropertySymbols()")}}.</p>
<pre class="brush: js">var obj = {};
@@ -175,7 +175,7 @@ for (var i in obj) {
<p>Подробности см. {{jsxref("JSON.stringify()")}}.</p>
-<h3 id="Объекты-обёртки_для_Symbol_в_качестве_имен_свойств">Объекты-обёртки для Symbol в качестве имен свойств</h3>
+<h3 id="Объекты-обёртки_для_Symbol_в_качестве_имён_свойств">Объекты-обёртки для Symbol в качестве имён свойств</h3>
<p>Когда объект-обёртка символа используется в качестве имени свойства, этот объект сводится к символу, который он оборачивает:</p>
diff --git a/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html b/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html
index ac35c69346..1252063034 100644
--- a/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html
+++ b/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive
<h2 id="Описание">Описание</h2>
-<p>С помощью свойства <strong><code>Symbol.toPrimitive</code></strong><code> </code>(которое описывается как функция), объект может быть приведен к примитивному типу. Функция вызывается со строковым аргументом <code><strong>hint</strong></code>, который передает желаемый тип примитива. Значением аргумента <code><strong>hint</strong></code> может быть одно из следующих значений <code>"<em>number</em>"</code>, <code>"<em>string</em>"</code>, и <code>"<em>default</em>"</code>.</p>
+<p>С помощью свойства <strong><code>Symbol.toPrimitive</code></strong><code> </code>(которое описывается как функция), объект может быть приведён к примитивному типу. Функция вызывается со строковым аргументом <code><strong>hint</strong></code>, который передаёт желаемый тип примитива. Значением аргумента <code><strong>hint</strong></code> может быть одно из следующих значений <code>"<em>number</em>"</code>, <code>"<em>string</em>"</code>, и <code>"<em>default</em>"</code>.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/typedarray/index.html b/files/ru/web/javascript/reference/global_objects/typedarray/index.html
index 17bd236f34..3db99bf074 100644
--- a/files/ru/web/javascript/reference/global_objects/typedarray/index.html
+++ b/files/ru/web/javascript/reference/global_objects/typedarray/index.html
@@ -35,7 +35,7 @@ Int8Array(), Uint8Array(), Uint8ClampedArray(), Int16Array(), Uint16Array(), Int
<dt>object</dt>
<dd>Новый массив создаётся так, как если бы была вызвана функция <code><em>TypedArray</em>.from()</code></dd>
<dt>buffer, byteOffset, length</dt>
- <dd>Когда происходит вызов с параметрами <strong><code>buffer</code> </strong>и опциональными параметрами <strong><code>byteOffset </code></strong>и<code> </code><strong><code>length</code></strong>, то будет создан новый типизированный массив, который будет отражать <code>buffer </code>типа {{jsxref("ArrayBuffer")}}. Параметры <code>byteOffset</code> и <code>length</code> определяют диапазон (размер) памяти, выводимый данным массивоподобным представлением. Если оба этих параметра (<code>byteOffset</code> и <code>length</code>) опущены, то будет использован весь буфер <code>buffer</code>; если опущен только <code>length</code>, то будет выведен весь остаток буфера после смещения начала отсчета элементов, заданного параметром <code>byteOffset</code>.</dd>
+ <dd>Когда происходит вызов с параметрами <strong><code>buffer</code> </strong>и опциональными параметрами <strong><code>byteOffset </code></strong>и<code> </code><strong><code>length</code></strong>, то будет создан новый типизированный массив, который будет отражать <code>buffer </code>типа {{jsxref("ArrayBuffer")}}. Параметры <code>byteOffset</code> и <code>length</code> определяют диапазон (размер) памяти, выводимый данным массивоподобным представлением. Если оба этих параметра (<code>byteOffset</code> и <code>length</code>) опущены, то будет использован весь буфер <code>buffer</code>; если опущен только <code>length</code>, то будет выведен весь остаток буфера после смещения начала отсчёта элементов, заданного параметром <code>byteOffset</code>.</dd>
</dl>
<h2 id="Описание"><a id="Description" name="Description">Описание</a></h2>
@@ -218,7 +218,7 @@ for (var k in typedArrayTypes)
<tr>
<td>{{SpecName('Typed Array')}}</td>
<td>{{Spec2('Typed Array')}}</td>
- <td>Определяет работу <code>TypedArray</code> и <code>ArrayBufferView</code>. Заменен в ECMAScript 6.</td>
+ <td>Определяет работу <code>TypedArray</code> и <code>ArrayBufferView</code>. Заменён в ECMAScript 6.</td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-typedarray-objects', 'TypedArray Objects')}}</td>
diff --git a/files/ru/web/javascript/reference/global_objects/unescape/index.html b/files/ru/web/javascript/reference/global_objects/unescape/index.html
index b0052bf0dc..0aecf842d0 100644
--- a/files/ru/web/javascript/reference/global_objects/unescape/index.html
+++ b/files/ru/web/javascript/reference/global_objects/unescape/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape
<h2 id="Summary" name="Summary">Описание</h2>
-<p>Устаревший метод <code><strong>unescape(str)</strong></code> создает новую строку в которой шестнадцатеричная последовательность символов вида %xx заменяется эквивалентами из кодировки ASCII. Знаки, закодированные в формате %uxxxx (знаки Юникода), заменяются знаками Юникода в шестнадцатеричной кодировке xxxx.</p>
+<p>Устаревший метод <code><strong>unescape(str)</strong></code> создаёт новую строку в которой шестнадцатеричная последовательность символов вида %xx заменяется эквивалентами из кодировки ASCII. Знаки, закодированные в формате %uxxxx (знаки Юникода), заменяются знаками Юникода в шестнадцатеричной кодировке xxxx.</p>
<p>Последовательность может быть результатом работы функции вроде {{jsxref("Global_Objects/escape", "escape")}}. Т.к. {{jsxref("Global_Objects/decodeURIComponent", "unescape")}} является устаревшей, используйте {{jsxref("Global_Objects/decodeURI", "decodeURI")}} или {{jsxref("Global_Objects/decodeURIComponent", "decodeURIComponent")}} вместо неё.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/uneval/index.html b/files/ru/web/javascript/reference/global_objects/uneval/index.html
index 21cd4e9958..2fa30aeeaa 100644
--- a/files/ru/web/javascript/reference/global_objects/uneval/index.html
+++ b/files/ru/web/javascript/reference/global_objects/uneval/index.html
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/uneval
<div><strong style="font-size: 2.14285714285714rem; font-weight: 700; letter-spacing: -1px; line-height: 30px;">Сводка</strong></div>
-<p><code style="font-style: normal; line-height: 1.5;"><strong>uneval()</strong></code><span style="line-height: 1.5;"> метод создает строковое представление исходного кода объекта.</span></p>
+<p><code style="font-style: normal; line-height: 1.5;"><strong>uneval()</strong></code><span style="line-height: 1.5;"> метод создаёт строковое представление исходного кода объекта.</span></p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/weakmap/clear/index.html b/files/ru/web/javascript/reference/global_objects/weakmap/clear/index.html
index 260264b01d..e99dbd4a2d 100644
--- a/files/ru/web/javascript/reference/global_objects/weakmap/clear/index.html
+++ b/files/ru/web/javascript/reference/global_objects/weakmap/clear/index.html
@@ -32,7 +32,7 @@ wm.has(window) // false
<h2 id="Спецификации">Спецификации</h2>
-<p>Не входит ни в одну текущую спецификацию или черновик. Этот метод был частью черновика ECMAScript 6, до 28 ревизии (версия от 14 октября, 2014), но был удален в последующих версиях черновика. В финальном стандарте его не будет.</p>
+<p>Не входит ни в одну текущую спецификацию или черновик. Этот метод был частью черновика ECMAScript 6, до 28 ревизии (версия от 14 октября, 2014), но был удалён в последующих версиях черновика. В финальном стандарте его не будет.</p>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html b/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html
index 8072855d1e..595f0ab82e 100644
--- a/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html
+++ b/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap/delete
<dl>
<dt>key</dt>
- <dd>Обязателен. Ключ элемента, который будет уделен из объекта WeakMap.</dd>
+ <dd>Обязателен. Ключ элемента, который будет уделён из объекта WeakMap.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
diff --git a/files/ru/web/javascript/reference/global_objects/weakmap/index.html b/files/ru/web/javascript/reference/global_objects/weakmap/index.html
index 1bf1b3c017..c849670ad7 100644
--- a/files/ru/web/javascript/reference/global_objects/weakmap/index.html
+++ b/files/ru/web/javascript/reference/global_objects/weakmap/index.html
@@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap
<h3 id="Почему_WeakMap">Почему<em> Weak</em>Map?</h3>
-<p>Опытный JavaScript разработчик заметит, что map API можно реализовать на JavaScript c помощью двух массивов (один для ключей, второй для значений) и четырех общих API методов. Установка элементов в этот map должна будет одновременно запушить ключи и значения. В результате индексы ключа и значения будут корректными. Получение значений с map потребует итерирование ключей, чтобы найти совпадение, а затем использование индекса этого соответствия для извлечения соответствующего значения из массива значений.</p>
+<p>Опытный JavaScript разработчик заметит, что map API можно реализовать на JavaScript c помощью двух массивов (один для ключей, второй для значений) и четырёх общих API методов. Установка элементов в этот map должна будет одновременно запушить ключи и значения. В результате индексы ключа и значения будут корректными. Получение значений с map потребует итерирование ключей, чтобы найти совпадение, а затем использование индекса этого соответствия для извлечения соответствующего значения из массива значений.</p>
<p>У такой реализации было бы два главных неудобства. Первым является O(n) поиск (где n — количество ключей в map), так как обе операции требуют итерирование списка ключей для нахождения совпадения. Вторым <span style="background-color: #f9f9f9; color: #252525; font-family: sans-serif; font-size: 12.3199996948242px; line-height: 18.4799995422363px; text-transform: lowercase;">– </span>проблема утечки памяти. В словарях, написанных вручную, массив с ключами будет хранить ссылки на объекты-ключи, не давая им быть помеченными сборщиком мусора. В нативных <code>WeakMap</code>, ссылки на объекты-ключи хранятся «слабо», что означает то, что они не предотвратят сборку мусора в том случае, если других ссылок на объект не будет.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html
index 90f80474a6..e463183f01 100644
--- a/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html
+++ b/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html
@@ -69,7 +69,7 @@ fetch('simple.wasm').then(response =&gt;
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузером</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
<p>{{Compat("javascript.builtins.WebAssembly.compile")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/compilestreaming/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/compilestreaming/index.html
index 106519cdf2..79b702b091 100644
--- a/files/ru/web/javascript/reference/global_objects/webassembly/compilestreaming/index.html
+++ b/files/ru/web/javascript/reference/global_objects/webassembly/compilestreaming/index.html
@@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStrea
<h2 id="Примеры">Примеры</h2>
-<p>Следующий пример (см. Нашу демонстрацию <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/compile-streaming.html">compile-streaming.html</a> на GitHub и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/compile-streaming.html">view it live</a>) напрямую передает модуль .wasm из исходника, затем компилирует его в объект {{jsxref("WebAssembly.Module")}}.<br>
+<p>Следующий пример (см. Нашу демонстрацию <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/compile-streaming.html">compile-streaming.html</a> на GitHub и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/compile-streaming.html">view it live</a>) напрямую передаёт модуль .wasm из исходника, затем компилирует его в объект {{jsxref("WebAssembly.Module")}}.<br>
Поскольку функция <code>compileStreaming()</code> принимает обещание для объекта {{domxref("Response")}}, вы можете напрямую передать ему вызов {{domxref("WindowOrWorkerGlobalScope.fetch()")}}, и он передаст ответ в выполняемую функцию.</p>
<pre class="brush: js">var importObject = { imports: { imported_func: arg =&gt; console.log(arg) } };
@@ -40,7 +40,7 @@ WebAssembly.compileStreaming(fetch('simple.wasm'))
.then(module =&gt; WebAssembly.instantiate(module, importObject))
.then(instance =&gt; instance.exports.exported_func());</pre>
-<p>Затем создается полученный экземпляр модуля с помощью {{jsxref("WebAssembly.instantiate()")}} и вызывается экспортированная функция.</p>
+<p>Затем создаётся полученный экземпляр модуля с помощью {{jsxref("WebAssembly.instantiate()")}} и вызывается экспортированная функция.</p>
<h2 id="Характеристики">Характеристики</h2>
@@ -65,7 +65,7 @@ WebAssembly.compileStreaming(fetch('simple.wasm'))
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузером</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
<p>{{Compat("javascript.builtins.WebAssembly.compileStreaming")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/index.html
index daff5d4ee7..5265fcdac1 100644
--- a/files/ru/web/javascript/reference/global_objects/webassembly/index.html
+++ b/files/ru/web/javascript/reference/global_objects/webassembly/index.html
@@ -5,9 +5,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly
---
<div>{{JSRef}}{{SeeCompatTable}}</div>
-<p>Объект JavaScript <strong><code>WebAssembly</code></strong> действует как пространство имен для всего <a href="/en-US/docs/WebAssembly">WebAssembly</a>-связанного функционала.</p>
+<p>Объект JavaScript <strong><code>WebAssembly</code></strong> действует как пространство имён для всего <a href="/en-US/docs/WebAssembly">WebAssembly</a>-связанного функционала.</p>
-<p>В отличие от большинства других глобальных объектов, <code>WebAssembly</code> не является конструктором (это не объект функции). Можно сравнить его с {{jsxref("Math")}}, который так же является пространством имен констант и функций, или  {{jsxref("Intl")}}, который является пространством имен для конструкторов интернационализации и других языково-чувствительных функций.</p>
+<p>В отличие от большинства других глобальных объектов, <code>WebAssembly</code> не является конструктором (это не объект функции). Можно сравнить его с {{jsxref("Math")}}, который так же является пространством имён констант и функций, или  {{jsxref("Intl")}}, который является пространством имён для конструкторов интернационализации и других языково-чувствительных функций.</p>
<h2 id="Описание">Описание</h2>
@@ -34,24 +34,24 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly
<dl>
<dt>{{jsxref("WebAssembly.Module()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>Module</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>Module</code>.</dd>
<dt>{{jsxref("WebAssembly.Instance()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>Instance</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>Instance</code>.</dd>
<dt>{{jsxref("WebAssembly.Memory()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>Memory</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>Memory</code>.</dd>
<dt>{{jsxref("WebAssembly.Table()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>Table</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>Table</code>.</dd>
<dt>{{jsxref("WebAssembly.CompileError()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>CompileError</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>CompileError</code>.</dd>
<dt>{{jsxref("WebAssembly.LinkError()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>LinkError</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>LinkError</code>.</dd>
<dt>{{jsxref("WebAssembly.RuntimeError()")}}</dt>
- <dd>Создает новый объект WebAssembly <code>RuntimeError</code>.</dd>
+ <dd>Создаёт новый объект WebAssembly <code>RuntimeError</code>.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
-<p>После загрузки некоторого байт-кода WebAssembly с помощью fetch, мы компилируем и создаем экземпляр модуля с помощью функции {{jsxref("WebAssembly.instantiate()")}}, импортируя функции JavaScript в WebAssembly Module в процессе. Этот промис результирует в объект (<code>result</code>), содержащий скомпилированные <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module">Module</a></code> и объекты <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance">Instance</a></code>. Мы можем вызвать <a href="/en-US/docs/WebAssembly/Exported_functions">Exported WebAssembly function</a>, которая была экспортирована через <code>Instance</code>.</p>
+<p>После загрузки некоторого байт-кода WebAssembly с помощью fetch, мы компилируем и создаём экземпляр модуля с помощью функции {{jsxref("WebAssembly.instantiate()")}}, импортируя функции JavaScript в WebAssembly Module в процессе. Этот промис результирует в объект (<code>result</code>), содержащий скомпилированные <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module">Module</a></code> и объекты <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance">Instance</a></code>. Мы можем вызвать <a href="/en-US/docs/WebAssembly/Exported_functions">Exported WebAssembly function</a>, которая была экспортирована через <code>Instance</code>.</p>
<pre class="brush: js">var importObject = {
imports: {
@@ -148,7 +148,7 @@ fetch('simple.wasm').then(response =&gt;
</table>
</div>
-<p>[1] WebAssembly включен в Firefox 52+, хотя не валиден в <a href="https://www.mozilla.org/en-US/firefox/organizations/">Firefox 52 Extended Support Release</a> (ESR.)</p>
+<p>[1] WebAssembly включён в Firefox 52+, хотя не валиден в <a href="https://www.mozilla.org/en-US/firefox/organizations/">Firefox 52 Extended Support Release</a> (ESR.)</p>
<p>[2] В настоящее время поддерживается флаг «Экспериментальные функции JavaScript».  Для более подробной информации смотрите <a href="https://blogs.windows.com/msedgedev/2017/04/20/improved-javascript-performance-webassembly-shared-memory/">этот blog post</a>.</p>
diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html
index eb9bc5ce48..23fab50edb 100644
--- a/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html
+++ b/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table
---
<div>{{JSRef}}</div>
-<p>Объект <code><strong>WebAssembly.Table()</strong></code> - это JavaScript обертка — структура похожая на массив, представляющая таблицу функций WebAssembly. Таблица, созданная через JavaScript или в коде WebAssembly, будет доступна и может быть изменена как из JavaScript, так и из WebAssembly.</p>
+<p>Объект <code><strong>WebAssembly.Table()</strong></code> - это JavaScript обёртка — структура похожая на массив, представляющая таблицу функций WebAssembly. Таблица, созданная через JavaScript или в коде WebAssembly, будет доступна и может быть изменена как из JavaScript, так и из WebAssembly.</p>
<div class="note">
<p><strong>Обратите внимание</strong>: Таблицы сейчас хранят только ссылки на функции, но это может быть расширено в будущем.</p>
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table
<dl>
<dt><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/Table">WebAssembly.Table()</a></code></dt>
- <dd>Создает новый объект <code>Table</code>.</dd>
+ <dd>Создаёт новый объект <code>Table</code>.</dd>
</dl>
<h2 id="Экземпляры_Table">Экземпляры <code>Table</code></h2>
@@ -44,14 +44,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table
<h2 id="Примеры">Примеры</h2>
-<p>Следующий пример (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.html">исходный код</a> и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/table2.html">живую версию</a> table2.html) создает новый экземпляр WebAssembly Table с 2 элементами. После этого выводит длину таблицы и содержимое первых двух элементов (полученных через {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} чтобы показать что длина равняется 2 и элементы равны {{jsxref("null")}}.</p>
+<p>Следующий пример (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.html">исходный код</a> и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/table2.html">живую версию</a> table2.html) создаёт новый экземпляр WebAssembly Table с 2 элементами. После этого выводит длину таблицы и содержимое первых двух элементов (полученных через {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} чтобы показать что длина равняется 2 и элементы равны {{jsxref("null")}}.</p>
<pre class="brush: js">var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
console.log(tbl.length); // "2"
console.log(tbl.get(0)); // "null"
console.log(tbl.get(1)); // "null"</pre>
-<p>После этого мы создаем объект импорта содержащий таблицу:</p>
+<p>После этого мы создаём объект импорта содержащий таблицу:</p>
<pre class="brush: js">var importObj = {
js: {
@@ -59,7 +59,7 @@ console.log(tbl.get(1)); // "null"</pre>
}
};</pre>
-<p>После этого, мы создаем экземпляр модуля wasm (table2.wasm) используя метод {{jsxref("WebAssembly.instantiateStreaming()")}}.  Модуль table2.wasm содержит две функции, одна возвращает 42, а вторая - 83) и сохраняет эти функции под индексами 0 и 1 в импортированную таблицу (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.wat">текстовую версию</a>).  Таким образом, после создания wasm-модуля, таблица имеет туже длину, но элементы таблицы стали <a href="/ru-RU/docs/WebAssembly/Exported_functions">функциями экспортированными из WebAssembly</a> которые можно вызывать из JS.</p>
+<p>После этого, мы создаём экземпляр модуля wasm (table2.wasm) используя метод {{jsxref("WebAssembly.instantiateStreaming()")}}.  Модуль table2.wasm содержит две функции, одна возвращает 42, а вторая - 83) и сохраняет эти функции под индексами 0 и 1 в импортированную таблицу (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.wat">текстовую версию</a>).  Таким образом, после создания wasm-модуля, таблица имеет туже длину, но элементы таблицы стали <a href="/ru-RU/docs/WebAssembly/Exported_functions">функциями экспортированными из WebAssembly</a> которые можно вызывать из JS.</p>
<pre class="brush: js">WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
.then(function(obj) {
@@ -68,9 +68,9 @@ console.log(tbl.get(1)); // "null"</pre>
  console.log(tbl.get(1)());
});</pre>
-<p>Заметьте что понадобилось добавить второй оператор вызова функции чтобы вызвать функцию возвращенную из талицы (т.е. <code>get(0)()</code> вместо <code>get(0)</code>) .</p>
+<p>Заметьте что понадобилось добавить второй оператор вызова функции чтобы вызвать функцию возвращённую из талицы (т.е. <code>get(0)()</code> вместо <code>get(0)</code>) .</p>
-<p>Этот пример показывает что мы создаем и работаем с таблицей из JavaScript, но экземпляр таблицы также виден и доступен внутри модуля wasm.</p>
+<p>Этот пример показывает что мы создаём и работаем с таблицей из JavaScript, но экземпляр таблицы также виден и доступен внутри модуля wasm.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/iteration_protocols/index.html b/files/ru/web/javascript/reference/iteration_protocols/index.html
index cc9b66658a..4c42e875f7 100644
--- a/files/ru/web/javascript/reference/iteration_protocols/index.html
+++ b/files/ru/web/javascript/reference/iteration_protocols/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Iteration_protocols
<div>{{jsSidebar("More")}}</div>
</div>
-<p>Одно из нововведений стандарта ECMAScript 2015 - протоколы перебора, которые могут реализованы любым объектом, соблюдая при этом определенные правила.</p>
+<p>Одно из нововведений стандарта ECMAScript 2015 - протоколы перебора, которые могут реализованы любым объектом, соблюдая при этом определённые правила.</p>
<h2 id="Протоколы_перебора">Протоколы перебора</h2>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Iteration_protocols
<p>Протокол "<strong>Итератор</strong>" определяет стандартный способ получения последовательности значений  (конечной или бесконечной).</p>
-<p>Объект является итератором, если в нем определен метод <strong>next()</strong> , реализующий следующую логику:</p>
+<p>Объект является итератором, если в нем определён метод <strong>next()</strong> , реализующий следующую логику:</p>
<table class="standard-table">
<tbody>
@@ -129,7 +129,7 @@ someString + "" // "hi"
<p>{{jsxref("String")}}, {{jsxref("Array")}}, {{jsxref("TypedArray")}}, {{jsxref("Map")}} и {{jsxref("Set")}} итерируемы, так как их прототипы содержат <code>@@</code><code>iterator</code> метод, а {{jsxref("Object")}} нет, так как прототип {{jsxref("Object")}} не содержит метода <code>@@</code><code>iterator</code></p>
-<h2 id="Итерируемость_определенная_пользователем">Итерируемость определенная пользователем</h2>
+<h2 id="Итерируемость_определённая_пользователем">Итерируемость определённая пользователем</h2>
<p>Мы можем создать итерируемый объект сами:</p>
diff --git a/files/ru/web/javascript/reference/lexical_grammar/index.html b/files/ru/web/javascript/reference/lexical_grammar/index.html
index 24705ce8ec..9c74d62e61 100644
--- a/files/ru/web/javascript/reference/lexical_grammar/index.html
+++ b/files/ru/web/javascript/reference/lexical_grammar/index.html
@@ -50,7 +50,7 @@ ECMAScript также определяет ключевые слова и лит
<h2 id="Пробелы">Пробелы</h2>
-<p>Пробельные символы улучшают читабельность исходного текста и разделяет токены друг от друга. Пробельные символы обычно не обязательны для функционирования кода. <a href="http://en.wikipedia.org/wiki/Minification_%28programming%29">Утилиты для уменьшения объема кода</a> часто удаляют пробельные символы, чтобы уменьшить объем кода.</p>
+<p>Пробельные символы улучшают читабельность исходного текста и разделяет токены друг от друга. Пробельные символы обычно не обязательны для функционирования кода. <a href="http://en.wikipedia.org/wiki/Minification_%28programming%29">Утилиты для уменьшения объёма кода</a> часто удаляют пробельные символы, чтобы уменьшить объем кода.</p>
<table class="standard-table">
<caption>Таблица пробельных символов</caption>
@@ -212,7 +212,7 @@ comment();</pre>
<p>Третий специализированный синтаксис комментариев, <strong>шебанг комментарий</strong>, в процессе стандартизации в ECMAScript (смотреть <a href="https://github.com/tc39/proposal-hashbang">Hashbang Grammar proposal</a>).</p>
-<p>Шебанг комментарий ведет себя точно также как и однострочный (<code>//</code>) комментарий. Вместо этого, он начинается с <code>#!</code> и <strong>действителен только в самом начале скрипта или модуля</strong>. Обратите внимание, что никакие пробелы не разрешены перед <code>#!</code>. Комментарий состоит из всех символов после <code>#!</code> до конца первой строки; только такой комментарий разрешен.</p>
+<p>Шебанг комментарий ведёт себя точно также как и однострочный (<code>//</code>) комментарий. Вместо этого, он начинается с <code>#!</code> и <strong>действителен только в самом начале скрипта или модуля</strong>. Обратите внимание, что никакие пробелы не разрешены перед <code>#!</code>. Комментарий состоит из всех символов после <code>#!</code> до конца первой строки; только такой комментарий разрешен.</p>
<p>Шебанг комментарий определяет путь к  JavaScript интерпретатору, скрипт которого Вы хотите выполнить. Пример, как это работает:</p>
@@ -366,7 +366,7 @@ false</pre>
0777 // распознается, как восьмеричное число, 511 - как десятичное число
</pre>
-<p>Имейте в виду, что литералы десятичных чисел могут начинаться с нуля (0), за которым следует другое десятичное число, но в случае, если число начинается с нуля и за ним идет цифра меньше 8, то число будет распознано как восьмеричное. This won't throw in JavaScript, see {{bug(957513)}}. See also the page about <code>{{jsxref('Global_Objects/parseInt','parseInt()','Octal_interpretations_with_no_radix')}}</code>.</p>
+<p>Имейте в виду, что литералы десятичных чисел могут начинаться с нуля (0), за которым следует другое десятичное число, но в случае, если число начинается с нуля и за ним идёт цифра меньше 8, то число будет распознано как восьмеричное. This won't throw in JavaScript, see {{bug(957513)}}. See also the page about <code>{{jsxref('Global_Objects/parseInt','parseInt()','Octal_interpretations_with_no_radix')}}</code>.</p>
<h4 id="Binary_двоичные_числа">Binary (двоичные числа)</h4>
@@ -403,7 +403,7 @@ var m = 0o644; // 420
<pre class="brush: js notranslate">var o = { a: "foo", b: "bar", c: 42 };
-// сокращенная нотация. Появилась в ES2015
+// сокращённая нотация. Появилась в ES2015
var a = "foo", b = "bar", c = 42;
var o = {a, b, c};
// вместо
@@ -481,7 +481,7 @@ tag `string text ${expression} string text`</pre>
<li><code>return</code></li>
</ul>
-<p>Спецификация ECMAScript напоминает о <a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-rules-of-automatic-semicolon-insertion">трех правилах вставки точки с запятой</a>.</p>
+<p>Спецификация ECMAScript напоминает о <a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-rules-of-automatic-semicolon-insertion">трёх правилах вставки точки с запятой</a>.</p>
<p>1. Точка с запятой ставится до, когда ограничитель строки или "}" is encountered that is not allowed by the grammar.</p>
diff --git a/files/ru/web/javascript/reference/operators/addition/index.html b/files/ru/web/javascript/reference/operators/addition/index.html
index 94efb4b63e..c55fa767fe 100644
--- a/files/ru/web/javascript/reference/operators/addition/index.html
+++ b/files/ru/web/javascript/reference/operators/addition/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Operators/Addition
---
<div>{{jsSidebar("Operators")}}</div>
-<p>Оператор сложения (+) создает сумму числовых операндов или конкатенацию строк.</p>
+<p>Оператор сложения (+) создаёт сумму числовых операндов или конкатенацию строк.</p>
<div>{{EmbedInteractiveExample("pages/js/expressions-addition.html")}}</div>
diff --git a/files/ru/web/javascript/reference/operators/await/index.html b/files/ru/web/javascript/reference/operators/await/index.html
index ecce9884c5..6159cd8b19 100644
--- a/files/ru/web/javascript/reference/operators/await/index.html
+++ b/files/ru/web/javascript/reference/operators/await/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Operators/await
<h2 id="Описание">Описание</h2>
-<p>Оператор <code>await</code> заставляет функцию, объявленную с использованием оператора <code>async</code>, ждать выполнения <code>Promise</code> и продолжать выполнение после возвращения <code>Promise</code> значения. Впоследствии возвращает полученное из  <code>Promise</code> значение. Если типом значения, к которому был применен оператор <code>await</code>, является не <code>Promise</code>, то значение приводится к успешно выполненному <code>Promise</code>.</p>
+<p>Оператор <code>await</code> заставляет функцию, объявленную с использованием оператора <code>async</code>, ждать выполнения <code>Promise</code> и продолжать выполнение после возвращения <code>Promise</code> значения. Впоследствии возвращает полученное из  <code>Promise</code> значение. Если типом значения, к которому был применён оператор <code>await</code>, является не <code>Promise</code>, то значение приводится к успешно выполненному <code>Promise</code>.</p>
<p>Если <code>Promise</code> отклоняется, то <code>await</code> генерирует исключение с отклонённым значением.</p>
@@ -54,7 +54,7 @@ f1();
f2();
</pre>
-<p>Если <code>Promise</code> отклонен, то выбрасывается исключение с переданным значением.</p>
+<p>Если <code>Promise</code> отклонён, то выбрасывается исключение с переданным значением.</p>
<pre class="brush: js">async function f3() {
try {
diff --git a/files/ru/web/javascript/reference/operators/bitwise_and/index.html b/files/ru/web/javascript/reference/operators/bitwise_and/index.html
index 6c08ef0ded..099bbe37cd 100644
--- a/files/ru/web/javascript/reference/operators/bitwise_and/index.html
+++ b/files/ru/web/javascript/reference/operators/bitwise_and/index.html
@@ -72,7 +72,7 @@ translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND
14 &amp; 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
</pre>
-<p>Побитовое И для любого числа <code><var>x</var></code> с <code>0</code> дает <code>0</code>.</p>
+<p>Побитовое И для любого числа <code><var>x</var></code> с <code>0</code> даёт <code>0</code>.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/operators/comma_operator/index.html b/files/ru/web/javascript/reference/operators/comma_operator/index.html
index 85d739fdab..de9bc91731 100644
--- a/files/ru/web/javascript/reference/operators/comma_operator/index.html
+++ b/files/ru/web/javascript/reference/operators/comma_operator/index.html
@@ -31,13 +31,13 @@ original_slug: Web/JavaScript/Reference/Operators/Оператор_Запята
<h2 id="Примеры">Примеры</h2>
-<p>Если <code>a</code> это двумерный массив элементов размерностью 10 х 10, то приведенный ниже код использует оператор запятая для одновременного изменения двух переменных за раз.</p>
+<p>Если <code>a</code> это двумерный массив элементов размерностью 10 х 10, то приведённый ниже код использует оператор запятая для одновременного изменения двух переменных за раз.</p>
<p>Следующий код выводит в консоль значения диагональных элементов массива:</p>
<pre class="brush:js;highlight:[1]">for (let i = 0, j = 9; i &lt;= 9; i++, j--)
console.log("a[" + i + "][" + j + "] = " + a[i][j]);</pre>
-<p>Заметьте, что запятая при объявлении переменной <code>var</code>, <code>let</code> или <code>const</code> <strong>не</strong> является оператором запятая, так как в данном случае она находится не в выражении. Скорее, это спец символ в объявлении переменных, комбинирующий их множество в одно выражение. Практически, эта запятая ведет себя почти так же, как и запятая.</p>
+<p>Заметьте, что запятая при объявлении переменной <code>var</code>, <code>let</code> или <code>const</code> <strong>не</strong> является оператором запятая, так как в данном случае она находится не в выражении. Скорее, это спец символ в объявлении переменных, комбинирующий их множество в одно выражение. Практически, эта запятая ведёт себя почти так же, как и запятая.</p>
<pre class="brush: js"> // подобное объявление запрещено в строгом режиме(strict mode)
diff --git a/files/ru/web/javascript/reference/operators/conditional_operator/index.html b/files/ru/web/javascript/reference/operators/conditional_operator/index.html
index 8b035ad9e4..7eabde0687 100644
--- a/files/ru/web/javascript/reference/operators/conditional_operator/index.html
+++ b/files/ru/web/javascript/reference/operators/conditional_operator/index.html
@@ -42,9 +42,9 @@ original_slug: Web/JavaScript/Reference/Operators/Условный_операт
<pre class="brush: js notranslate">var firstCheck = false,
secondCheck = false,
- access = firstCheck ? "Доступ запрещен" : secondCheck ? "Доступ запрещен" : "Доступ разрешен";
+ access = firstCheck ? "Доступ запрещён" : secondCheck ? "Доступ запрещён" : "Доступ разрешён";
-console.log( access ); // выводит в консоль "Доступ разрешен"</pre>
+console.log( access ); // выводит в консоль "Доступ разрешён"</pre>
<p>Тернарные операции можно использовать и сами по себе - для выполнения различных операций:</p>
@@ -62,18 +62,18 @@ age &gt; 18 ? (
location.assign("continue.html")
) : (
stop = true,
- alert("Простите, вы еще так юны!")
+ alert("Простите, вы ещё так юны!")
);
</pre>
-<p>При присвоении значения также возможно выполнение более одной операции. В этом случае переменной <strong>будет присвоено то значение, </strong><em><strong>которое стоит последним в списке значений, разделенных запятой</strong></em>.</p>
+<p>При присвоении значения также возможно выполнение более одной операции. В этом случае переменной <strong>будет присвоено то значение, </strong><em><strong>которое стоит последним в списке значений, разделённых запятой</strong></em>.</p>
<pre class="brush: js notranslate">var age = 16;
var url = age &gt; 18 ? (
alert("Хорошо, вы можете продолжить."),
- // alert вернет "undefined", но это будет проигнорировано, потому что
- // не является последним в списке значений, разделенных запятой
+ // alert вернёт "undefined", но это будет проигнорировано, потому что
+ // не является последним в списке значений, разделённых запятой
"continue.html" // значение будет присвоено, если age &gt; 18
) : (
alert("Вы слишком молоды!"),
diff --git a/files/ru/web/javascript/reference/operators/delete/index.html b/files/ru/web/javascript/reference/operators/delete/index.html
index 2edf33b67e..d7722fa829 100644
--- a/files/ru/web/javascript/reference/operators/delete/index.html
+++ b/files/ru/web/javascript/reference/operators/delete/index.html
@@ -64,18 +64,18 @@ delete <em>property</em> // удаляет свойства глобальног
<p><code>delete</code> эффективен только применительно к свойствам объектов. Он не оказывает никакого влияния на имена переменных и функций.<br>
Присвоение значения свойству без указания объекта (без оператора var) иногда неверно характеризуется, как глобальная переменная, (например <code>x = 5</code>). На самом деле происходит присвоение значения свойству глобального объекта.</p>
-<p><code>delete</code> не может удалить определенные свойства встроенных объектов (таких как Object, Array, Math и так далее). В спецификации ECMA-262 они обозначены как <em>DontDelete.</em></p>
+<p><code>delete</code> не может удалить определённые свойства встроенных объектов (таких как Object, Array, Math и так далее). В спецификации ECMA-262 они обозначены как <em>DontDelete.</em></p>
-<pre class="brush: js">x = 42; // создает свойство x в глобальном объекте
+<pre class="brush: js">x = 42; // создаёт свойство x в глобальном объекте
var y = 43; // объявляет новую переменную, y
myobj = {};
-myobj.h = 4; // создает свойство h в myobj
-myobj.k = 5; // создает свойство k в myobj
+myobj.h = 4; // создаёт свойство h в myobj
+myobj.k = 5; // создаёт свойство k в myobj
delete x; // возвращает true (x - свойство глобального объекта и может быть удалено)
delete y; // возвращает false (delete не влияет на имена переменных)
-delete Math.PI; // возвращает false (delete не влияет на определенные встроенные свойства)
-delete myobj.h; // возвращает true (свойства, определенные пользователем могут быть удалены)
+delete Math.PI; // возвращает false (delete не влияет на определённые встроенные свойства)
+delete myobj.h; // возвращает true (свойства, определённые пользователем могут быть удалены)
with(myobj) {
delete k; // возвращает true (эквивалентно delete myobj.k)
@@ -89,7 +89,7 @@ delete myobj; // возвращает true (myobj это свойство г
Foo.prototype.bar = 42;
var foo = new Foo();
delete foo.bar; // возвращает true, но безрезультатно, так как bar - наследуемое свойство
-alert(foo.bar); // выводит 42, свойство все еще наследуется
+alert(foo.bar); // выводит 42, свойство все ещё наследуется
delete Foo.prototype.bar; // удаляет свойство из прототипа
alert(foo.bar); // выводит "undefined", свойство больше не наследуется</pre>
@@ -106,7 +106,7 @@ if (3 in trees) {
// этот участок кода не выполнится
}</pre>
-<p>Если Вы хотите, чтобы элемент массива существовал, но имел значение undefined, используйте значение <code>undefined</code> вместо оператора <code>delete</code>. В следующем примере, trees{{ mediawiki.external(3) }} принимает значение undefined, но элемент массива все еще существует:</p>
+<p>Если Вы хотите, чтобы элемент массива существовал, но имел значение undefined, используйте значение <code>undefined</code> вместо оператора <code>delete</code>. В следующем примере, trees{{ mediawiki.external(3) }} принимает значение undefined, но элемент массива все ещё существует:</p>
<pre class="brush: js">var trees = ["redwood","bay","cedar","oak","maple"];
trees[3]=undefined;
@@ -116,9 +116,9 @@ if (3 in trees) {
<h2 id="Проблема_кроссбраузерности">Проблема кроссбраузерности</h2>
-<p>Несмотря на то, что стандарт ECMAScript оставляет порядок итерации по свойствам объектов на усмотрение реализующей стороны, может оказаться так, что все основные браузеры поддерживают порядок итерации, основанный на принципе "свойство добавленное в объект раньше идет раньше" (по крайней мере для свойств не находящихся в прототипе). Однако, в случае с Internet Explorer, когда кто-нибудь использует <code>delete</code> с каким-либо свойством, это приводит к некоторым неожиданным результатам, заставляя другие браузеры отказаться от использования простых объектов, таких как литералы объектов, в качестве ассоциативных массивов. В Internet Explorer, когда значение свойства установлено в undefined, после удаления этого свойства, если кто-нибудь позже добавит свойство с таким же именем, оно окажется в своей <em>старой</em> позиции, а не в конце итерационной последовательности, как ожидается.</p>
+<p>Несмотря на то, что стандарт ECMAScript оставляет порядок итерации по свойствам объектов на усмотрение реализующей стороны, может оказаться так, что все основные браузеры поддерживают порядок итерации, основанный на принципе "свойство добавленное в объект раньше идёт раньше" (по крайней мере для свойств не находящихся в прототипе). Однако, в случае с Internet Explorer, когда кто-нибудь использует <code>delete</code> с каким-либо свойством, это приводит к некоторым неожиданным результатам, заставляя другие браузеры отказаться от использования простых объектов, таких как литералы объектов, в качестве ассоциативных массивов. В Internet Explorer, когда значение свойства установлено в undefined, после удаления этого свойства, если кто-нибудь позже добавит свойство с таким же именем, оно окажется в своей <em>старой</em> позиции, а не в конце итерационной последовательности, как ожидается.</p>
-<p>Поэтому, если Вы хотите симулировать упорядоченный ассоциативный массив в кроссбраузерной среде, вам придется либо использовать два отдельных массива (один для ключей и один для значений), либо построить массив из объектов с одним свойством и так далее.</p>
+<p>Поэтому, если Вы хотите симулировать упорядоченный ассоциативный массив в кроссбраузерной среде, вам придётся либо использовать два отдельных массива (один для ключей и один для значений), либо построить массив из объектов с одним свойством и так далее.</p>
<h2 id="Specification" name="Specification">Внешние ссылки</h2>
diff --git a/files/ru/web/javascript/reference/operators/in/index.html b/files/ru/web/javascript/reference/operators/in/index.html
index 7260b5913e..7570704fb8 100644
--- a/files/ru/web/javascript/reference/operators/in/index.html
+++ b/files/ru/web/javascript/reference/operators/in/index.html
@@ -58,7 +58,7 @@ var color2 = "coral";
"length" in color2
</pre>
-<h3 id="Использование_оператора_in_с_неопределенными_или_с_уже_удаленными_свойствами">Использование оператора <code>in</code> с неопределенными или с уже удаленными свойствами</h3>
+<h3 id="Использование_оператора_in_с_неопределёнными_или_с_уже_удалёнными_свойствами">Использование оператора <code>in</code> с неопределёнными или с уже удалёнными свойствами</h3>
<p>Если вы удалили свойство при помощи оператора <code style="font-style: normal;"><a href="/ru/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete">delete</a></code>, то оператор <code>in</code> возвратит <code>false</code> для этого свойства.</p>
@@ -71,7 +71,7 @@ delete trees[3];
3 in trees; // false
</pre>
-<p>Если вы зададите свойству значение {{jsxref("Global_Objects/undefined", "undefined")}}, но не удалите его, то для этого свойства оператор <code>in</code> вернет значение <code>true</code>.</p>
+<p>Если вы зададите свойству значение {{jsxref("Global_Objects/undefined", "undefined")}}, но не удалите его, то для этого свойства оператор <code>in</code> вернёт значение <code>true</code>.</p>
<pre class="brush:js">var mycar = {make: "Honda", model: "Accord", year: 1998};
mycar.make = undefined;
diff --git a/files/ru/web/javascript/reference/operators/instanceof/index.html b/files/ru/web/javascript/reference/operators/instanceof/index.html
index dd264b0a07..a9274710e2 100644
--- a/files/ru/web/javascript/reference/operators/instanceof/index.html
+++ b/files/ru/web/javascript/reference/operators/instanceof/index.html
@@ -109,7 +109,7 @@ myDate instanceof String; // возвращает false
<h3 id="Показывает_что_mycar_имеет_тип_Car_и_тип_Object">Показывает, что <code>mycar</code> имеет тип <code>Car</code> и тип <code>Object</code></h3>
-<p>Следующий код создает тип <code>Car</code> и экземпляр этого типа, <code>mycar</code>. Оператор <code>instanceof</code> показывает, что объект <code>mycar</code> имеет тип <code>Car</code> и тип <code>Object</code>.</p>
+<p>Следующий код создаёт тип <code>Car</code> и экземпляр этого типа, <code>mycar</code>. Оператор <code>instanceof</code> показывает, что объект <code>mycar</code> имеет тип <code>Car</code> и тип <code>Object</code>.</p>
<pre class="brush: js">function Car(make, model, year) {
this.make = make;
diff --git a/files/ru/web/javascript/reference/operators/new.target/index.html b/files/ru/web/javascript/reference/operators/new.target/index.html
index bab9b8e956..5feccb7b52 100644
--- a/files/ru/web/javascript/reference/operators/new.target/index.html
+++ b/files/ru/web/javascript/reference/operators/new.target/index.html
@@ -47,8 +47,8 @@ Foo(); // ошибка "Foo() must be called with new"
class B extends A { constructor() { super(); } }
-var a = new A(); // вернет "A"
-var b = new B(); // вернет "B"
+var a = new A(); // вернёт "A"
+var b = new B(); // вернёт "B"
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/operators/new/index.html b/files/ru/web/javascript/reference/operators/new/index.html
index b6f4ed80b7..6afdd75f04 100644
--- a/files/ru/web/javascript/reference/operators/new/index.html
+++ b/files/ru/web/javascript/reference/operators/new/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Operators/new
---
<div>{{jsSidebar("Operators")}}</div>
-<p><strong>Оператор </strong>(операторная функция)<strong> <code>new</code></strong> создает экземпляр объекта, встроенного или определенного пользователем, имеющего конструктор.</p>
+<p><strong>Оператор </strong>(операторная функция)<strong> <code>new</code></strong> создаёт экземпляр объекта, встроенного или определённого пользователем, имеющего конструктор.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Operators/new
<h2 id="Описание">Описание</h2>
-<p>Создание объекта, определенного пользователем, требует два шага:</p>
+<p>Создание объекта, определённого пользователем, требует два шага:</p>
<ol>
<li>Написать функцию, которая задаст тип объекта.</li>
@@ -41,14 +41,14 @@ translation_of: Web/JavaScript/Reference/Operators/new
<p>Когда исполняется <code>new <em>Foo</em>(...)</code> , происходит следующее:</p>
<ol>
- <li>Создается новый объект, наследующий <code><em>Foo</em>.prototype.</code></li>
+ <li>Создаётся новый объект, наследующий <code><em>Foo</em>.prototype.</code></li>
<li>Вызывается конструктор — функция <code><em>Foo</em></code> с указанными аргументами и <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/this">this</a>, привязанным к только что созданному объекту</code>. <code>new F<em>oo</em></code> эквивалентно <code>new </code><em>F<code>oo</code></em><code>()</code>, то есть если аргументы не указаны, Foo вызывается без аргументов.</li>
- <li>Результатом выражения new становится объект, возвращенный конструктором. Если конструктор не возвращает объект явно, используется объект из п. 1. (Обычно конструкторы не возвращают значение, но они могут делать это, если нужно переопределить обычный процесс создания объектов.)</li>
+ <li>Результатом выражения new становится объект, возвращённый конструктором. Если конструктор не возвращает объект явно, используется объект из п. 1. (Обычно конструкторы не возвращают значение, но они могут делать это, если нужно переопределить обычный процесс создания объектов.)</li>
</ol>
<p>Всегда можно добавить свойство к уже созданному объекту. Например, <code>car1.color = "black"</code> добавляет свойство <code>color</code> к объекту <code>car1</code>, и присваивает ему значение "<code>black</code>". Это не затрагивает другие объекты. Чтобы добавить свойство ко всем объектам типа, нужно добавлять его в определение типа Car.</p>
-<p>Добавить свойство к ранее определенному типу можно используя свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">Function.prototype</a></code>. Это определит свойство для всех объектов, созданных этой функцией, а не только у какого-либо экземпляра. Следующий пример добавляет свойство color со значением <code>null</code> всем объектам типа <code>car</code>, а потом меняет его на  "<code>black</code>" только у экземпляра <code>car1</code>. Больше информации в статье <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">prototype</a>.</p>
+<p>Добавить свойство к ранее определённому типу можно используя свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">Function.prototype</a></code>. Это определит свойство для всех объектов, созданных этой функцией, а не только у какого-либо экземпляра. Следующий пример добавляет свойство color со значением <code>null</code> всем объектам типа <code>car</code>, а потом меняет его на  "<code>black</code>" только у экземпляра <code>car1</code>. Больше информации в статье <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">prototype</a>.</p>
<pre class="brush: js">function Car() {}
car1 = new Car();
@@ -80,7 +80,7 @@ console.log(car1.color); // black
<pre class="brush: js">var mycar = new Car("Eagle", "Talon TSi", 1993);
</pre>
-<p>Это выражение создает экземпляр <code>mycar</code> и присваивает его свойствам указанные значения. Таким образом, <code>mycar.make</code> принимает значение "Eagle", <code>mycar.year</code> принимает значение 1993, и так далее.</p>
+<p>Это выражение создаёт экземпляр <code>mycar</code> и присваивает его свойствам указанные значения. Таким образом, <code>mycar.make</code> принимает значение "Eagle", <code>mycar.year</code> принимает значение 1993, и так далее.</p>
<p>Можно создать любое количество экземпляров <code>car</code> с помощью оператора <code>new</code>. Например:</p>
diff --git a/files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html b/files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html
index 71484f05a1..a8482f38c8 100644
--- a/files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html
+++ b/files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html
@@ -131,7 +131,7 @@ console.log(foo.someBarProp?.toUpperCase()); // undefined
<h3 id="Прогресс_реализации">Прогресс реализации</h3>
-<p>В следующей таблице приведено ежедневное состояние реализации этой функции, поскольку эта функция еще не достигла стабильности в разных браузерах. Данные генерируются путем запуска соответствующих тестов функциональности в <a href="https://github.com/tc39/test262">Test262</a>, стандартном наборе тестов JavaScript, в ночной сборке или в последней версии движка JavaScript каждого браузера.</p>
+<p>В следующей таблице приведено ежедневное состояние реализации этой функции, поскольку эта функция ещё не достигла стабильности в разных браузерах. Данные генерируются путём запуска соответствующих тестов функциональности в <a href="https://github.com/tc39/test262">Test262</a>, стандартном наборе тестов JavaScript, в ночной сборке или в последней версии движка JavaScript каждого браузера.</p>
<div>{{EmbedTest262ReportResultsTable("coalesce-expression")}}</div>
diff --git a/files/ru/web/javascript/reference/operators/object_initializer/index.html b/files/ru/web/javascript/reference/operators/object_initializer/index.html
index 5f8d445e0d..8487de375a 100644
--- a/files/ru/web/javascript/reference/operators/object_initializer/index.html
+++ b/files/ru/web/javascript/reference/operators/object_initializer/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Operators/Object_initializer
---
<div>{{JsSidebar("Операторы")}}</div>
-<p>Объекты могут быть инициализированы с помощью <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object"><code>new Object()</code></a>,<code> <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create">Object.create()</a> </code>или <em>литеральной</em> (<em>инициирующей</em>) нотации. Инициализатор объекта это разделенный запятыми список ноль или более пар имен свойств и ассоциируемых с ними значений, заключенных в фигурные скобки (<code>{}</code>).</p>
+<p>Объекты могут быть инициализированы с помощью <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object"><code>new Object()</code></a>,<code> <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create">Object.create()</a> </code>или <em>литеральной</em> (<em>инициирующей</em>) нотации. Инициализатор объекта это разделённый запятыми список ноль или более пар имён свойств и ассоциируемых с ними значений, заключённых в фигурные скобки (<code>{}</code>).</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -26,16 +26,16 @@ var o = {
<p>Пожалуйста, просмотрите таблицу поддержки этих нотаций. В неподдерживаемом окружении, эти нотации приведут к синтаксической ошибке.</p>
-<pre class="brush: js">// Сокращение имен свойств (ES2015)
+<pre class="brush: js">// Сокращение имён свойств (ES2015)
var a = 'foo', b = 42, c = {};
var o = {a, b, c};
-// Сокращение имен методов (ES2015)
+// Сокращение имён методов (ES2015)
var o = {
<var>property</var>([<var>parameters</var>]) {}
};
-// Вычисление имен свойств (ES2015)
+// Вычисление имён свойств (ES2015)
var prop = 'foo';
var o = {
[prop]: 'hey',
@@ -52,7 +52,7 @@ var o = {
<pre class="brush: js">var object = {};</pre>
-<p>Однако, преимущество <em>литеральной</em> или <em>инициирующей</em> нотации это возможность быстро создавать объекты со свойствами внутри фигурных скобок. Создается простой список пар <code>ключ: значение</code>, разделенных запятой. Следующий код создает объект с тремя парами значений и ключи это <code>"foo"</code>, <code>"age"</code> и <code>"baz"</code>. Значения этих ключей строка <code>"bar"</code>, число <code>42</code> и другой объект.</p>
+<p>Однако, преимущество <em>литеральной</em> или <em>инициирующей</em> нотации это возможность быстро создавать объекты со свойствами внутри фигурных скобок. Создаётся простой список пар <code>ключ: значение</code>, разделённых запятой. Следующий код создаёт объект с тремя парами значений и ключи это <code>"foo"</code>, <code>"age"</code> и <code>"baz"</code>. Значения этих ключей строка <code>"bar"</code>, число <code>42</code> и другой объект.</p>
<pre class="brush: js">var object = {
foo: 'bar',
@@ -90,14 +90,14 @@ var o = {
b = 42,
c = {};
-// Сокращение имен свойств (ES2015)
+// Сокращение имён свойств (ES2015)
var o = {a, b, c};
// Иначе говоря,
console.log((o.a === {a}.a)); // true
</pre>
-<h4 id="Повторение_имен_свойств">Повторение имен свойств</h4>
+<h4 id="Повторение_имён_свойств">Повторение имён свойств</h4>
<p>Когда используются одинаковые имена свойств, второе свойство перезапишет первое.</p>
@@ -105,14 +105,14 @@ console.log((o.a === {a}.a)); // true
console.log(a); // {x: 2}
</pre>
-<p>В строгом режиме ECMAScript 5, повторение имен свойств будет воспринято как {{jsxref("SyntaxError")}}.  С введением вычисляемых имен свойств и появлением возможности создавать дубликаты во время выполнения кода, ECMAScript 2015 убрал это ограничение.</p>
+<p>В строгом режиме ECMAScript 5, повторение имён свойств будет воспринято как {{jsxref("SyntaxError")}}.  С введением вычисляемых имён свойств и появлением возможности создавать дубликаты во время выполнения кода, ECMAScript 2015 убрал это ограничение.</p>
<pre class="brush: js">function haveES2015DuplicatePropertySemantics() {
'use strict';
try {
({prop: 1, prop: 2});
- // Не будет ошибки, повторение имен доступно в строгом режиме
+ // Не будет ошибки, повторение имён доступно в строгом режиме
return true;
} catch(e) {
// Будет ошибка, дубликаты запрещены в строгом режиме
@@ -132,7 +132,7 @@ console.log(a); // {x: 2}
<p>В ECMAScript 2015, доступна короткая нотация, поэтому слово "function" более не обязательно.</p>
-<pre class="brush: js">// Сокращение имен методов (ES2015)
+<pre class="brush: js">// Сокращение имён методов (ES2015)
var o = {
<var>property</var>([<var>parameters</var>]) {},
*<var>generator</var>() {}
@@ -243,7 +243,7 @@ assert(obj3.__proto__ === 17);
<li>В JSON значения могут быть только строками, числами, массивами, <code>true</code>, <code>false</code>, <code>null</code> или другими (JSON) объектами.</li>
<li>Значения-функции (смотри "Методы" выше) не могут быть присвоены свойствам в JSON.</li>
<li>Объект вида {{jsxref("Date")}} будет строкой после {{jsxref("JSON.parse()")}}.</li>
- <li>{{jsxref("JSON.parse()")}} отклонит вычисляемые имена свойств и вернет ошибку.</li>
+ <li>{{jsxref("JSON.parse()")}} отклонит вычисляемые имена свойств и вернёт ошибку.</li>
</ul>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/operators/optional_chaining/index.html b/files/ru/web/javascript/reference/operators/optional_chaining/index.html
index 959d17c800..b82d793eee 100644
--- a/files/ru/web/javascript/reference/operators/optional_chaining/index.html
+++ b/files/ru/web/javascript/reference/operators/optional_chaining/index.html
@@ -48,7 +48,7 @@ let nestedProp = ((temp === null || temp === undefined) ? undefined : temp.secon
<p>Вы можете использовать <code>?.</code><strong>, </strong>когда необходимо вызвать метод, которого может не существовать. Это может быть полезно, например, при использовании API, в котором метод может быть недоступен из-за устаревания или не поддерживаем ости устройством пользователя.</p>
-<p>Использование <code>?.</code><strong> </strong>с вызовом функции значит, что выполнение автоматически вернет <code>undefined</code>, а не выбросит исключение, если метод не найден:</p>
+<p>Использование <code>?.</code><strong> </strong>с вызовом функции значит, что выполнение автоматически вернёт <code>undefined</code>, а не выбросит исключение, если метод не найден:</p>
<pre class="brush: js">let result = someInterface.customMethod?.();</pre>
@@ -101,7 +101,7 @@ myMap.set("foo", {name: "baz", desc: "inga"});
let nameBar = myMap.get("bar")?.name;</pre>
-<h3 id="Сокращенное_выполнение">Сокращенное выполнение</h3>
+<h3 id="Сокращённое_выполнение">Сокращённое выполнение</h3>
<p>При использовании оператора опциональной последовательности в выражениях, где левая часть операнда равна <code>null</code> или <code>undefined</code>, выражение не будет выполнено. Например:</p>
diff --git a/files/ru/web/javascript/reference/operators/pipeline_operator/index.html b/files/ru/web/javascript/reference/operators/pipeline_operator/index.html
index ec069c9e24..3fee1a8a0d 100644
--- a/files/ru/web/javascript/reference/operators/pipeline_operator/index.html
+++ b/files/ru/web/javascript/reference/operators/pipeline_operator/index.html
@@ -58,7 +58,7 @@ double(increment(double(double(5)))); // 42
<tr>
<td><a href="http://tc39.github.io/proposal-pipeline-operator/">Pipeline operator draft</a></td>
<td>Этап 1</td>
- <td>Еще не включен в спецификацию ECMAScript.</td>
+ <td>Ещё не включён в спецификацию ECMAScript.</td>
</tr>
</tbody>
</table>
diff --git a/files/ru/web/javascript/reference/operators/spread_syntax/index.html b/files/ru/web/javascript/reference/operators/spread_syntax/index.html
index c96be61337..1019bdd757 100644
--- a/files/ru/web/javascript/reference/operators/spread_syntax/index.html
+++ b/files/ru/web/javascript/reference/operators/spread_syntax/index.html
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Operators/Spread_syntax
var args = [0, 1, 2];
myFunction.apply(null, args);</pre>
-<p>С <strong>spread syntax</strong> вышеприведенное можно записать как:</p>
+<p>С <strong>spread syntax</strong> вышеприведённое можно записать как:</p>
<pre class="brush: js notranslate">function myFunction(x, y, z) { }
var args = [0, 1, 2];
@@ -58,7 +58,7 @@ myFunction(-1, ...args, 2, ...[3]);</pre>
<h4 id="Apply_для_new">Apply для new</h4>
-<p>Вызывая конструктор через ключевое слово <code>new</code>, невозможно использовать массив и <code>apply</code> <strong>напрямую </strong>(<code>apply</code> выполняет <code>[[Call]]</code>, а не <code>[[Construct]]</code>).Однако благодаря spread syntax, массив может быть с легкостью использован со словом <code>new:</code></p>
+<p>Вызывая конструктор через ключевое слово <code>new</code>, невозможно использовать массив и <code>apply</code> <strong>напрямую </strong>(<code>apply</code> выполняет <code>[[Call]]</code>, а не <code>[[Construct]]</code>).Однако благодаря spread syntax, массив может быть с лёгкостью использован со словом <code>new:</code></p>
<pre class="brush: js notranslate">var dateFields = [1970, 0, 1]; // 1 Jan 1970
var d = new Date(...dateFields);
@@ -103,7 +103,7 @@ var lyrics = ['head', ...parts, 'and', 'toes'];
// ["head", "shoulders", "knees", "and", "toes"]
</pre>
-<p>Аналогично развертыванию в массиве аргументов, <code>...</code> может быть использован повсеместно и многократно в литерале массива.</p>
+<p>Аналогично развёртыванию в массиве аргументов, <code>...</code> может быть использован повсеместно и многократно в литерале массива.</p>
<h4 id="Копирование_массива">Копирование массива</h4>
@@ -147,7 +147,7 @@ var arr2 = [3, 4, 5];
// Prepend all items from arr2 onto arr1
Array.prototype.unshift.apply(arr1, arr2) // arr1 is now [3, 4, 5, 0, 1, 2]</pre>
-<p>С использованием spread syntax [Следует отметить, что такой способ создает новый массив <code>arr1</code>. В отличие от {{jsxref("Array.unshift")}}, исходный массив не мутируется]:</p>
+<p>С использованием spread syntax [Следует отметить, что такой способ создаёт новый массив <code>arr1</code>. В отличие от {{jsxref("Array.unshift")}}, исходный массив не мутируется]:</p>
<pre class="brush: js notranslate">var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
@@ -183,11 +183,11 @@ var mergedObj = merge ( obj1, obj2);
var mergedObj = merge ( {}, obj1, obj2);
// Object { 0: {}, 1: { foo: 'bar', x: 42 }, 2: { foo: 'baz', y: 13 } }</pre>
-<p>В приведенном выше примере оператор распространения не работает так, как можно было бы ожидать: он распространяет <em>массив</em> аргументов в литерал <em>объекта</em> благодаря параметру rest.</p>
+<p>В приведённом выше примере оператор распространения не работает так, как можно было бы ожидать: он распространяет <em>массив</em> аргументов в литерал <em>объекта</em> благодаря параметру rest.</p>
<h3 id="Только_для_итерируемых_объектов">Только для итерируемых объектов</h3>
-<p>Spread syntax ( кроме случаев spread properties) может быть применен только к итерируемым объектам (<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator">iterable</a> objects) :</p>
+<p>Spread syntax ( кроме случаев spread properties) может быть применён только к итерируемым объектам (<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator">iterable</a> objects) :</p>
<pre class="brush: js notranslate">var obj = {'key1': 'value1'};
var array = [...obj]; // TypeError: obj is not iterable
diff --git a/files/ru/web/javascript/reference/operators/this/index.html b/files/ru/web/javascript/reference/operators/this/index.html
index 59761d890e..b373d12fa1 100644
--- a/files/ru/web/javascript/reference/operators/this/index.html
+++ b/files/ru/web/javascript/reference/operators/this/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Operators/this
<p>Поведение ключевого слова <code>this</code> в JavaScript несколько отличается по сравнению с остальными языками. Имеются также различия при использовании <code>this</code> в <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode">строгом</a> и нестрогом режиме.</p>
-<p>В большинстве случаев значение <code>this</code> определяется тем, каким образом вызвана функция. Значение <code>this</code> не может быть установлено путем присваивания во время исполнения кода и может иметь разное значение при каждом вызове функции. В ES5 представлен метод {{jsxref('Function.prototype.bind()', 'bind()')}}, который используется для {{jsxref('Operators/this','привязки значения ключевого слова this независимо от того, как вызвана функция','Метод_bind')}}. Также в ES2015 представлены {{jsxref('Functions/Arrow_functions', 'стрелочные функции')}}, которые не создают собственные привязки к <code>this</code> (они сохраняют значение <code>this</code> лексического окружения, в котором были созданы).</p>
+<p>В большинстве случаев значение <code>this</code> определяется тем, каким образом вызвана функция. Значение <code>this</code> не может быть установлено путём присваивания во время исполнения кода и может иметь разное значение при каждом вызове функции. В ES5 представлен метод {{jsxref('Function.prototype.bind()', 'bind()')}}, который используется для {{jsxref('Operators/this','привязки значения ключевого слова this независимо от того, как вызвана функция','Метод_bind')}}. Также в ES2015 представлены {{jsxref('Functions/Arrow_functions', 'стрелочные функции')}}, которые не создают собственные привязки к <code>this</code> (они сохраняют значение <code>this</code> лексического окружения, в котором были созданы).</p>
<div>{{EmbedInteractiveExample("pages/js/expressions-this.html")}}</div>
@@ -65,7 +65,7 @@ f1() === window; // window - глобальный объект в браузер
f1() === global; // global - глобальный объект в Node
</pre>
-<p>В строгом режиме, если значение <code>this</code> не установлено в контексте выполнения, оно остается <code>undefined</code>, как показано в следующем примере:</p>
+<p>В строгом режиме, если значение <code>this</code> не установлено в контексте выполнения, оно остаётся <code>undefined</code>, как показано в следующем примере:</p>
<pre class="brush:js">function f2(){
"use strict"; // см. strict mode
@@ -77,7 +77,7 @@ f2() === undefined; // true
<div class="note">Во втором примере <code>this</code> должно иметь значение <code>{{jsxref("undefined")}}</code>, потому что функция <code>f2</code> была вызвана напрямую, а не как метод или свойство объекта (например, <code>window.f2()</code>). Реализация этой особенности не поддерживалась в некоторых браузерах, когда они впервые начали поддерживать {{jsxref('Strict_mode', 'строгий режим')}}. В результате они некорректно возвращали объект <code>window</code>.</div>
-<p>Для того, чтобы при вызове функции установить <code>this</code> в определенное значение, используйте {{jsxref('Function.prototype.call()', 'call()')}} или {{jsxref('Function.prototype.apply()', 'apply()')}}, как в следующих примерах.</p>
+<p>Для того, чтобы при вызове функции установить <code>this</code> в определённое значение, используйте {{jsxref('Function.prototype.call()', 'call()')}} или {{jsxref('Function.prototype.apply()', 'apply()')}}, как в следующих примерах.</p>
<p><strong>Пример 1</strong></p>
@@ -128,7 +128,7 @@ bar.call('foo'); // [object String]
<h3 id="Метод_bind">Метод <code>bind</code></h3>
-<p>ECMAScript 5 представил {{jsxref("Function.prototype.bind()")}}. Вызов <code>f.bind(someObject)</code> создает новую функцию с тем же телом и областью действия, что и <code>f</code>, но там, где в исходной функции используется <code>this</code>, в новой функции оно постоянно будет связано с первым аргументом <code>bind</code>, независимо от того, как функция используется.</p>
+<p>ECMAScript 5 представил {{jsxref("Function.prototype.bind()")}}. Вызов <code>f.bind(someObject)</code> создаёт новую функцию с тем же телом и областью действия, что и <code>f</code>, но там, где в исходной функции используется <code>this</code>, в новой функции оно постоянно будет связано с первым аргументом <code>bind</code>, независимо от того, как функция используется.</p>
<pre>function f() {
return this.a;
@@ -155,7 +155,7 @@ console.log(foo() === globalObject); // true</code></pre>
<p>Note: если аргумент this передаётся в call, bind или apply при вызове стрелочной функции, он будет проигнорирован. Вы всё ещё можете добавить аргументы к вызову, но первый аргумент (thisArg) должен быть установлен в null.</p>
</div>
-<p>Неважно, как стрелочная функция <code>foo()</code> будет вызвана, её значение this будет указывать на глобальный объект. <code>this</code> будет сохранять свое значение, даже если функция <code>foo()</code> будет вызвана как метод объекта (что в обычных функциях связывает <code>this</code> с объектом вызова) или с использованием методов <code>call</code>, <code>apply</code> или <code>bind</code>:</p>
+<p>Неважно, как стрелочная функция <code>foo()</code> будет вызвана, её значение this будет указывать на глобальный объект. <code>this</code> будет сохранять своё значение, даже если функция <code>foo()</code> будет вызвана как метод объекта (что в обычных функциях связывает <code>this</code> с объектом вызова) или с использованием методов <code>call</code>, <code>apply</code> или <code>bind</code>:</p>
<pre><code>// Вызов функции как метода объекта
var obj = {foo: foo};
@@ -170,7 +170,7 @@ console.log(foo() === globalObject); // true</code></pre>
<p>Несмотря ни на что, <code>this</code> стрелочной функции <code>foo()</code> имеет то же значение, что и при создании функции (глобальный объект в примере выше). То же самое касается стрелочных функций, созданных внутри других функций: их <code>this</code> будет привязан к окружению.</p>
-<pre><code>// Создаем объект obj, содержащий метод bar, который возвращает функцию,
+<pre><code>// Создаём объект obj, содержащий метод bar, который возвращает функцию,
// которая возвращает свой this. Возвращаемая функция создана
// как стрелочная функция, таким образом её this постоянно замкнут
// на this функции, в которой она создана. </code>Значение bar может быть установлено
@@ -195,7 +195,7 @@ var fn2 = obj.bar;
// потому что он следует за this из fn2.
console.log(fn2()() == window); // true</pre>
-<p>В примере выше, функция (назовем её анонимной функцией A), присвоенная методу <code>obj.bar</code>, возвращает другую функцию (назовем её анонимной функцией B) которая создана как стрелочная функция. В результате, <code>this функции B при вызове замкнут на</code> <code>this,</code> принадлежащий <code>obj.bar</code> (функции A). <code>this</code> функции B всегда будет иметь то значение, которое он получил при создании. В примере выше, <code>this функции B</code> указывает на <code>this функции A,которым является</code> obj, таким образом this будет равен <code>obj</code> даже тогда, когда будет вызван методом, который в нормальных условиях устанавливал бы значение this равным <code>undefined</code> или глобальному объекту (или любым другим методом, как в предыдущем примере в глобальном контексте выполнения).</p>
+<p>В примере выше, функция (назовём её анонимной функцией A), присвоенная методу <code>obj.bar</code>, возвращает другую функцию (назовём её анонимной функцией B) которая создана как стрелочная функция. В результате, <code>this функции B при вызове замкнут на</code> <code>this,</code> принадлежащий <code>obj.bar</code> (функции A). <code>this</code> функции B всегда будет иметь то значение, которое он получил при создании. В примере выше, <code>this функции B</code> указывает на <code>this функции A,которым является</code> obj, таким образом this будет равен <code>obj</code> даже тогда, когда будет вызван методом, который в нормальных условиях устанавливал бы значение this равным <code>undefined</code> или глобальному объекту (или любым другим методом, как в предыдущем примере в глобальном контексте выполнения).</p>
<h3 id="В_методе_объекта">В методе объекта</h3>
@@ -213,7 +213,7 @@ console.log(fn2()() == window); // true</pre>
console.log(o.f()); // logs 37
</pre>
-<p>Необходимо отметить, что на поведение <code>this</code> совсем не влияет то, как или где была определена функция. В предыдущем примере мы определили функцию внутри свойства <code>f</code> во время определения объекта <code>o</code>. Однако, мы могли бы также просто определить сначала функцию, а затем закрепить ее за за свойством <code>o.f</code>. В этом случае поведение <code>this</code> не изменится:</p>
+<p>Необходимо отметить, что на поведение <code>this</code> совсем не влияет то, как или где была определена функция. В предыдущем примере мы определили функцию внутри свойства <code>f</code> во время определения объекта <code>o</code>. Однако, мы могли бы также просто определить сначала функцию, а затем закрепить её за за свойством <code>o.f</code>. В этом случае поведение <code>this</code> не изменится:</p>
<pre class="brush:js">var o = {prop: 37};
@@ -236,7 +236,7 @@ console.log(o.b.g()); // logs 42
<h4 id="this_в_цепочке_objects_prototype"><code>this</code> в цепочке object's prototype</h4>
-<p>Это же представление справедливо и для методов, определенных где-либо в цепочке object's prototype. Если метод находится в цепочке прототипов, то <code>this</code> ссылается на объект, на котором был вызван метод, т.е. так, словно метод является методом самого объекта, а не прототипа.</p>
+<p>Это же представление справедливо и для методов, определённых где-либо в цепочке object's prototype. Если метод находится в цепочке прототипов, то <code>this</code> ссылается на объект, на котором был вызван метод, т.е. так, словно метод является методом самого объекта, а не прототипа.</p>
<pre class="brush:js">var o = {f:function(){ return this.a + this.b; }};
var p = Object.create(o);
@@ -274,7 +274,7 @@ console.log(o.phase, o.modulus); // logs -0.78 1.4142
<p>Когда функция используется как конструктор (с ключевым словом <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/new">new</a></code> ), <code>this</code> связано с создаваемым новым объектом.</p>
-<p>Примечание: по умолчанию конструктор возвращает объект, на который ссылается <code>this</code>, но он может вернуть и другой объект (если возвращаемое значение не является объектом, тогда будет возвращен объект с <code>this</code>).</p>
+<p>Примечание: по умолчанию конструктор возвращает объект, на который ссылается <code>this</code>, но он может вернуть и другой объект (если возвращаемое значение не является объектом, тогда будет возвращён объект с <code>this</code>).</p>
<pre class="brush:js">/*
* Конструктор работает таким образом:
@@ -312,7 +312,7 @@ o = new C2();
console.log(o.a); // logs 38
</pre>
-<p>В последнем примере (<code>C2</code>), из-за того, что конструктор вернул объект, новый объект, к которому было привязано <code>this</code>, был просто отброшен. (Это фактически делает выражение "<code>this.a = 37;</code>" "мертвым" кодом. Он не является буквально нерабочим, так как он выполняется, но он может быть изъят без каких-либо внешних эффектов.)</p>
+<p>В последнем примере (<code>C2</code>), из-за того, что конструктор вернул объект, новый объект, к которому было привязано <code>this</code>, был просто отброшен. (Это фактически делает выражение "<code>this.a = 37;</code>" "мёртвым" кодом. Он не является буквально нерабочим, так как он выполняется, но он может быть изъят без каких-либо внешних эффектов.)</p>
<h3 id="call_и_apply"><code>call</code> и <code>apply</code></h3>
@@ -335,7 +335,7 @@ add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34
</pre>
-<p>Необходимо отметить, что если методам <code>call</code> и <code>apply</code> передается значение с <code>this</code>, которое не является при этом объектом, будет предпринята попытка конвертировать значение в объект, используя внутреннюю операцию <code>ToObject</code>. Если переданное значение является примитивным типом, например <code>7</code> или <code>'foo'</code>, оно будет преобразовано в объект с использованием родственного конструктора, так примитив <code>7</code> преобразовывается в объект через <code>new Number(7),</code> а строка <code>'foo'</code> в объект через <code>new String('foo'),</code> и т.д.</p>
+<p>Необходимо отметить, что если методам <code>call</code> и <code>apply</code> передаётся значение с <code>this</code>, которое не является при этом объектом, будет предпринята попытка конвертировать значение в объект, используя внутреннюю операцию <code>ToObject</code>. Если переданное значение является примитивным типом, например <code>7</code> или <code>'foo'</code>, оно будет преобразовано в объект с использованием родственного конструктора, так примитив <code>7</code> преобразовывается в объект через <code>new Number(7),</code> а строка <code>'foo'</code> в объект через <code>new String('foo'),</code> и т.д.</p>
<pre class="brush:js">function bar() {
console.log(Object.prototype.toString.call(this));
@@ -382,7 +382,7 @@ for (var i = 0; i &lt; elements.length; i++) {
&lt;/button&gt;
</pre>
-<p>В этом случае <code>this</code> вложенной функции не будет установлен, так что будет возвращен global/window объект.</p>
+<p>В этом случае <code>this</code> вложенной функции не будет установлен, так что будет возвращён global/window объект.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/operators/void/index.html b/files/ru/web/javascript/reference/operators/void/index.html
index e415aacae7..998c138972 100644
--- a/files/ru/web/javascript/reference/operators/void/index.html
+++ b/files/ru/web/javascript/reference/operators/void/index.html
@@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Reference/Operators/void
<h2 id="JavaScript_URIs">JavaScript URIs</h2>
-<p>Когда браузер переходит по <code>javascript: URI</code>, он вычисляет код в <code>URI</code> и заменяет содержание страницы возвращенным значением, если оно не равно {{jsxref("Global_Objects/undefined", "undefined")}}. Можно воспользоваться оператором <code>void</code> для возврата {{jsxref("Global_Objects/undefined", "undefined")}}. Например:</p>
+<p>Когда браузер переходит по <code>javascript: URI</code>, он вычисляет код в <code>URI</code> и заменяет содержание страницы возвращённым значением, если оно не равно {{jsxref("Global_Objects/undefined", "undefined")}}. Можно воспользоваться оператором <code>void</code> для возврата {{jsxref("Global_Objects/undefined", "undefined")}}. Например:</p>
<pre class="brush: html">&lt;a href="javascript:void(0);"&gt;
Click here to do nothing
diff --git a/files/ru/web/javascript/reference/statements/async_function/index.html b/files/ru/web/javascript/reference/statements/async_function/index.html
index 966ea49b80..a956f73e66 100644
--- a/files/ru/web/javascript/reference/statements/async_function/index.html
+++ b/files/ru/web/javascript/reference/statements/async_function/index.html
@@ -81,7 +81,7 @@ add2(10).then(v =&gt; {
<div class="warning">
<h4 id="Не_путайте_await_и_Promise.all">Не путайте await и Promise.all</h4>
-<p>Функция <code>add1</code> приостанавливается на 2 секунды для первого <code>await</code> и еще на 2 для второго. Второй таймер создается только после срабатывания первого. В функции <code>add2</code> создаются оба и оба же переходят в состояние <code>await</code>. В результате функция <code>add2</code> завершится скорее через две, чем через четыре секунды, поскольку таймеры работают одновременно. Однако запускаются они все же не параллельно, а друг за другом - такая конструкция не означает автоматического использования <code>Promise.all</code>. Если два или более Promise должны разрешаться параллельно, следует использовать <code>Promise.all</code>.</p>
+<p>Функция <code>add1</code> приостанавливается на 2 секунды для первого <code>await</code> и ещё на 2 для второго. Второй таймер создаётся только после срабатывания первого. В функции <code>add2</code> создаются оба и оба же переходят в состояние <code>await</code>. В результате функция <code>add2</code> завершится скорее через две, чем через четыре секунды, поскольку таймеры работают одновременно. Однако запускаются они все же не параллельно, а друг за другом - такая конструкция не означает автоматического использования <code>Promise.all</code>. Если два или более Promise должны разрешаться параллельно, следует использовать <code>Promise.all</code>.</p>
</div>
<h3 id="Когда_функция_async_выбрасывает_исключение">Когда функция <code>async </code>выбрасывает исключение</h3>
@@ -136,7 +136,7 @@ throwsValue()
}
</pre>
-<p>Заметьте, что пример выше не содержит <code>await</code> на <code>return</code>, потому что возвращаемое значение функции <code>async</code> неявно обернуто в {{jsxref("Promise.resolve")}}.</p>
+<p>Заметьте, что пример выше не содержит <code>await</code> на <code>return</code>, потому что возвращаемое значение функции <code>async</code> неявно обёрнуто в {{jsxref("Promise.resolve")}}.</p>
<h2 id="Спецификации">Спецификации</h2>
@@ -165,7 +165,7 @@ throwsValue()
<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправить нам pull request.</div>
<p>{{Compat("javascript.statements.async_function")}}</p>
</div>
diff --git a/files/ru/web/javascript/reference/statements/block/index.html b/files/ru/web/javascript/reference/statements/block/index.html
index a6fb564aa7..c6d34377df 100644
--- a/files/ru/web/javascript/reference/statements/block/index.html
+++ b/files/ru/web/javascript/reference/statements/block/index.html
@@ -41,13 +41,13 @@ original_slug: Web/JavaScript/Reference/Statements/Блок
<p>Обратите внимание, что блок инструкций не заканчивается точкой с запятой.</p>
-<p>Блок инструкций часто называется <strong>сложной (составной) инструкцией</strong> в других языках. Он позволяет вам использовать несколько операторов там, где JavaScript ожидает один оператор. Помещение инструкций в блок - это распространенная практика в JavaScript. Противоположное поведение - использование <a href="/en-US/docs/Web/JavaScript/Reference/Statements/Empty">пустого оператора</a> там, где никаких действий не нужно, а оператор требуется.</p>
+<p>Блок инструкций часто называется <strong>сложной (составной) инструкцией</strong> в других языках. Он позволяет вам использовать несколько операторов там, где JavaScript ожидает один оператор. Помещение инструкций в блок - это распространённая практика в JavaScript. Противоположное поведение - использование <a href="/en-US/docs/Web/JavaScript/Reference/Statements/Empty">пустого оператора</a> там, где никаких действий не нужно, а оператор требуется.</p>
<h3 id="Правила_области_видимости_блока">Правила области видимости блока</h3>
<h4 id="С_использованием_var">С использованием <code>var</code></h4>
-<p>Переменные, объявленные через <code>var</code>, <strong>не</strong> <strong>имеют</strong> блочной области видимости. Переменные, введенные внутри блока, имеют областью видимости содержащую их функцию или скрипт, и последствия записи в них значения распространяются за границы, собственно, блока, в котором они объявлены. Другими словами, блок инструкций не вводит новую область видимости. Хотя "отдельно стоящие" блоки не являются нарушением синтаксиса, не стоит использовать отдельно стоящие блоки в JavaScript, потому что они не делают то, чего вы от них ожидаете, если вы ожидаете, что они будут себя вести аналогично блокам в C или Java. Например:</p>
+<p>Переменные, объявленные через <code>var</code>, <strong>не</strong> <strong>имеют</strong> блочной области видимости. Переменные, введённые внутри блока, имеют областью видимости содержащую их функцию или скрипт, и последствия записи в них значения распространяются за границы, собственно, блока, в котором они объявлены. Другими словами, блок инструкций не вводит новую область видимости. Хотя "отдельно стоящие" блоки не являются нарушением синтаксиса, не стоит использовать отдельно стоящие блоки в JavaScript, потому что они не делают то, чего вы от них ожидаете, если вы ожидаете, что они будут себя вести аналогично блокам в C или Java. Например:</p>
<pre class="brush: js example-bad">var x = 1;
{
diff --git a/files/ru/web/javascript/reference/statements/class/index.html b/files/ru/web/javascript/reference/statements/class/index.html
index 6e772f9c6a..507c13cb10 100644
--- a/files/ru/web/javascript/reference/statements/class/index.html
+++ b/files/ru/web/javascript/reference/statements/class/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/class
---
<div>{{jsSidebar("Statements")}}</div>
-<p><strong>Class declaration</strong> создает новый класс с данным именем на основе прототипного наследования.</p>
+<p><strong>Class declaration</strong> создаёт новый класс с данным именем на основе прототипного наследования.</p>
<div class="noinclude">
<p>Можно так же определить класс, используя {{jsxref("Operators/class", "class expression", "", 1)}}. Но в отличие от class expression, class declaration не позволяет снова объявить уже существующий класс, это <strong>приведёт к ошибке типа</strong>.</p>
@@ -54,7 +54,7 @@ class Square extends Polygon {
class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared
</pre>
-<p>Та же ошибка будет вызвана, если класс был определен перед использованием class declaration.</p>
+<p>Та же ошибка будет вызвана, если класс был определён перед использованием class declaration.</p>
<pre class="brush: js notranslate">var Foo = class {};
class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared
diff --git a/files/ru/web/javascript/reference/statements/do...while/index.html b/files/ru/web/javascript/reference/statements/do...while/index.html
index f6707b4b04..6a2aa31f07 100644
--- a/files/ru/web/javascript/reference/statements/do...while/index.html
+++ b/files/ru/web/javascript/reference/statements/do...while/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/do...while
---
<div>{{jsSidebar("Statements")}}</div>
-<p>Выражение <strong><code>do...while</code></strong> создает цикл, который выполняет указанное выражение до тех пор, пока условие не станет ложным. Условие проверяется после выполнения выражения, то есть выражение выполнится как минимум один раз.</p>
+<p>Выражение <strong><code>do...while</code></strong> создаёт цикл, который выполняет указанное выражение до тех пор, пока условие не станет ложным. Условие проверяется после выполнения выражения, то есть выражение выполнится как минимум один раз.</p>
<p>{{EmbedInteractiveExample("pages/js/statement-dowhile.html")}}</p>
@@ -23,7 +23,7 @@ while (<em>условие</em>);
<dl>
<dt><code>условие</code></dt>
- <dd>Выражение, которое вычисляется после каждого шага цикла. Если <code>условие</code> истинно, то <code>выражение</code> выполняется еще раз. Когда <code>условие</code> ложно, выполняется выражение, следующее после <code>do...while</code>.</dd>
+ <dd>Выражение, которое вычисляется после каждого шага цикла. Если <code>условие</code> истинно, то <code>выражение</code> выполняется ещё раз. Когда <code>условие</code> ложно, выполняется выражение, следующее после <code>do...while</code>.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/javascript/reference/statements/empty/index.html b/files/ru/web/javascript/reference/statements/empty/index.html
index 3792c035bc..64aee27def 100644
--- a/files/ru/web/javascript/reference/statements/empty/index.html
+++ b/files/ru/web/javascript/reference/statements/empty/index.html
@@ -39,7 +39,7 @@ console.log(arr)
killTheUniverse() // Это всегда выполняется!!!
</pre>
-<p>Другой пример: <a href="/ru/docs/Web/JavaScript/Reference/Statements/if...else"><code>if...else</code></a> без фигурных скобок  (<code>{}</code>). Если <code>three</code> истинно, ничего не произойдет, <code>four</code> не важна, и функция <code>launchRocket()</code> тоже не запустится.</p>
+<p>Другой пример: <a href="/ru/docs/Web/JavaScript/Reference/Statements/if...else"><code>if...else</code></a> без фигурных скобок  (<code>{}</code>). Если <code>three</code> истинно, ничего не произойдёт, <code>four</code> не важна, и функция <code>launchRocket()</code> тоже не запустится.</p>
<pre class="brush: js">if (one)
doOne();
diff --git a/files/ru/web/javascript/reference/statements/for-await...of/index.html b/files/ru/web/javascript/reference/statements/for-await...of/index.html
index 9ed679ace7..d5a6b93e35 100644
--- a/files/ru/web/javascript/reference/statements/for-await...of/index.html
+++ b/files/ru/web/javascript/reference/statements/for-await...of/index.html
@@ -77,7 +77,7 @@ translation_of: Web/JavaScript/Reference/Statements/for-await...of
// 1
// 2</pre>
-<p>Для более конкретного примера перебора асинхронного генератора с помощью <code>for await... of</code>, рассмотрим перебор данных из API.  В этом примере сначала создается асинхронный итератор для потока данных, а затем он используется для определения размера ответа от API.</p>
+<p>Для более конкретного примера перебора асинхронного генератора с помощью <code>for await... of</code>, рассмотрим перебор данных из API.  В этом примере сначала создаётся асинхронный итератор для потока данных, а затем он используется для определения размера ответа от API.</p>
<pre class="brush: js">async function* streamAsyncIterator(stream) {
const reader = stream.getReader();
diff --git a/files/ru/web/javascript/reference/statements/for...in/index.html b/files/ru/web/javascript/reference/statements/for...in/index.html
index 24d7434f81..18ffee0e24 100644
--- a/files/ru/web/javascript/reference/statements/for...in/index.html
+++ b/files/ru/web/javascript/reference/statements/for...in/index.html
@@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...in
<h3 id="Удаление_добавление_и_модификация_свойств">Удаление, добавление и модификация свойств</h3>
-<p>Цикл <code>for...in</code> проходит по свойствам в произвольном порядке (см. оператор {{jsxref("Operators/delete", "delete")}} для того, чтобы узнать почему порядок прохода может отличаться в зависимости от браузера). Если свойство изменяется за одну итерацию, а затем изменяется снова, его значением в цикле является его последнее значение. Свойство, удаленное до того, как до него дошёл цикл, не будет участвовать в нём. Свойства добавленные в объекты в цикле могут быть пропущены. В общем, лучше не добавлять, изменять или удалять свойство из объекта во время итерации, если по нему ещё не прошли. Нет гарантии, что добавленное свойство будет посещено циклом, низменное после проведения изменений, а удалённое после удаления.</p>
+<p>Цикл <code>for...in</code> проходит по свойствам в произвольном порядке (см. оператор {{jsxref("Operators/delete", "delete")}} для того, чтобы узнать почему порядок прохода может отличаться в зависимости от браузера). Если свойство изменяется за одну итерацию, а затем изменяется снова, его значением в цикле является его последнее значение. Свойство, удалённое до того, как до него дошёл цикл, не будет участвовать в нём. Свойства добавленные в объекты в цикле могут быть пропущены. В общем, лучше не добавлять, изменять или удалять свойство из объекта во время итерации, если по нему ещё не прошли. Нет гарантии, что добавленное свойство будет посещено циклом, низменное после проведения изменений, а удалённое после удаления.</p>
<h3 id="Проход_по_массиву_и_for...in"><code>Проход по массиву и for...in</code></h3>
diff --git a/files/ru/web/javascript/reference/statements/for...of/index.html b/files/ru/web/javascript/reference/statements/for...of/index.html
index fdf8799529..cd4447e59f 100644
--- a/files/ru/web/javascript/reference/statements/for...of/index.html
+++ b/files/ru/web/javascript/reference/statements/for...of/index.html
@@ -213,7 +213,7 @@ for (var value of iterable) {
<p>Для {{jsxref("Statements/for...in", "for...in")}} обход <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Enumerability_and_ownership_of_properties" title="перечисляемые свойства">перечисляемых свойств</a> объекта осуществляется в произвольном порядке.</p>
-<p>Для <code>for...of</code> обход происходит в соответствии с тем, какой порядок определен в <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/iterable">итерируемом объекте</a>.</p>
+<p>Для <code>for...of</code> обход происходит в соответствии с тем, какой порядок определён в <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/iterable">итерируемом объекте</a>.</p>
<p>Следующий пример показывает различия в работе циклов <code>for...of</code> и <code>for...in</code> при обходе {{jsxref("Array")}}.</p>
@@ -237,7 +237,7 @@ for (let i of iterable) {
console.log(i); // выведет 3, 5, 7
}</code></pre>
-<p>Разберемся шаг за шагом в вышеописанном коде.</p>
+<p>Разберёмся шаг за шагом в вышеописанном коде.</p>
<pre class="notranslate"><code>Object.prototype.objCustom = function() {};
Array.prototype.arrCustom = function() {};
@@ -251,7 +251,7 @@ iterable.foo = 'hello';</code></pre>
console.log(i); // выведет 0, 1, 2, "foo", "arrCustom", "objCustom"
}</code></pre>
-<p>Цикл выводит только <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties">перечисляемые свойства</a> объекта <code>iterable</code>, в порядке их создания. Он не выводит <strong>значения</strong> <code>3</code>, <code>5</code>, <code>7</code> и <code>hello</code> поскольку они <strong>не являются</strong> перечисляемыми, фактически они вообще не являются свойствами, они являются <strong>значениями</strong>. Выводятся же <strong>имена свойств и методов</strong>, например <code>arrCustom</code> и <code>objCustom</code>. Если вы еще не совсем поняли, по каким свойствам осуществляется обход, вот дополнительное объяснение того, как работает {{jsxref("Statements/for...in", "array iteration and for...in", "#Array_iteration_and_for...in")}} .</p>
+<p>Цикл выводит только <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties">перечисляемые свойства</a> объекта <code>iterable</code>, в порядке их создания. Он не выводит <strong>значения</strong> <code>3</code>, <code>5</code>, <code>7</code> и <code>hello</code> поскольку они <strong>не являются</strong> перечисляемыми, фактически они вообще не являются свойствами, они являются <strong>значениями</strong>. Выводятся же <strong>имена свойств и методов</strong>, например <code>arrCustom</code> и <code>objCustom</code>. Если вы ещё не совсем поняли, по каким свойствам осуществляется обход, вот дополнительное объяснение того, как работает {{jsxref("Statements/for...in", "array iteration and for...in", "#Array_iteration_and_for...in")}} .</p>
<pre class="notranslate"><code>for (let i in iterable) {
if (iterable.hasOwnProperty(i)) {
diff --git a/files/ru/web/javascript/reference/statements/for/index.html b/files/ru/web/javascript/reference/statements/for/index.html
index 6b394ef5a5..080e4e8c61 100644
--- a/files/ru/web/javascript/reference/statements/for/index.html
+++ b/files/ru/web/javascript/reference/statements/for/index.html
@@ -52,7 +52,7 @@ for (; i &lt; 9; i++) {
}
</pre>
-<p>Как и блок инициализации, блок условия не обязателен. Если пропустите это выражение, вы должны быть уверены, что прервете цикл где-то в теле, а не создадите бесконечный цикл.</p>
+<p>Как и блок инициализации, блок условия не обязателен. Если пропустите это выражение, вы должны быть уверены, что прервёте цикл где-то в теле, а не создадите бесконечный цикл.</p>
<pre class="brush: js">for (var i = 0;; i++) {
console.log(i);
diff --git a/files/ru/web/javascript/reference/statements/import/index.html b/files/ru/web/javascript/reference/statements/import/index.html
index d301e39327..99911d4f33 100644
--- a/files/ru/web/javascript/reference/statements/import/index.html
+++ b/files/ru/web/javascript/reference/statements/import/index.html
@@ -46,7 +46,7 @@ import("/module-name.js").then(module =&gt; {…}) // Динамический
<dt><code>module-name</code></dt>
<dd>Имя модуля для импорта. Это зачастую относительный или абсолютный путь к <code>.js</code> файлу модуля без указания расширения <code>.js</code>. Некоторые сборщики могут разрешать или даже требовать использования расширения; проверяйте своё рабочее окружение. Допускаются только строки с одиночными или двойными кавычками.</dd>
<dt><code>name</code></dt>
- <dd>Имя локального объекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения.</dd>
+ <dd>Имя локального объекта, который будет использован как своего рода пространство имён, ссылающееся на импортируемые значения.</dd>
</dl>
<dl>
@@ -61,7 +61,7 @@ import("/module-name.js").then(module =&gt; {…}) // Динамический
<h2 id="Описание">Описание</h2>
-<p>Параметр <code>name</code> это имя локального объекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения. Параметры <code>export</code> определяют отдельные именованные значения, в то время как <code>import * as name</code> импортирует все значения. Примеры ниже объясняют синтаксис.</p>
+<p>Параметр <code>name</code> это имя локального объекта, который будет использован как своего рода пространство имён, ссылающееся на импортируемые значения. Параметры <code>export</code> определяют отдельные именованные значения, в то время как <code>import * as name</code> импортирует все значения. Примеры ниже объясняют синтаксис.</p>
<h3 id="Импорт_всего_содержимого_модуля">Импорт всего содержимого модуля</h3>
@@ -69,13 +69,13 @@ import("/module-name.js").then(module =&gt; {…}) // Динамический
<pre class="brush: js">import * as <em>myModule</em> from '/modules/my-module.js';</pre>
-<p>В данном случае, доступ к импортируемым значениям можно осуществить с использованием имени модуля (в данном случае "myModule") в качестве пространства имен. Например, если импортируемый выше модуль включает в себя экспорт метода <code>doAllTheAmazingThings()</code>, вы можете вызвать его так:</p>
+<p>В данном случае, доступ к импортируемым значениям можно осуществить с использованием имени модуля (в данном случае "myModule") в качестве пространства имён. Например, если импортируемый выше модуль включает в себя экспорт метода <code>doAllTheAmazingThings()</code>, вы можете вызвать его так:</p>
<pre class="brush: js">myModule.doAllTheAmazingThings();</pre>
<h3 id="Импорт_единичного_значения_из_модуля">Импорт единичного значения из модуля</h3>
-<p>Определенное ранее значение, названное <code>myExport,</code> которое было экспортировано из модуля <code>my-module</code> либо неявно (если модуль был экспортирован целиком), либо явно (с использованием инструкции {{jsxref("Statements/export", "export")}}), позволяет вставить <code>myExport</code> в текущую область видимости.</p>
+<p>Определённое ранее значение, названное <code>myExport,</code> которое было экспортировано из модуля <code>my-module</code> либо неявно (если модуль был экспортирован целиком), либо явно (с использованием инструкции {{jsxref("Statements/export", "export")}}), позволяет вставить <code>myExport</code> в текущую область видимости.</p>
<pre class="brush: js">import {myExport} from '/modules/my-module.js';</pre>
@@ -85,7 +85,7 @@ import("/module-name.js").then(module =&gt; {…}) // Динамический
<pre class="brush: js">import {foo, bar} from '/modules/my-module.js';</pre>
-<h3 id="Импорт_значений_с_использованием_более_удобных_имен">Импорт значений с использованием более удобных имен</h3>
+<h3 id="Импорт_значений_с_использованием_более_удобных_имён">Импорт значений с использованием более удобных имён</h3>
<p>Вы можете переименовать значения, когда импортируете их. Например, этот код вставляет <code>shortName</code> в текущую область видимости.</p>
@@ -117,10 +117,10 @@ import("/module-name.js").then(module =&gt; {…}) // Динамический
<pre class="brush: js">import myDefault from '/modules/my-module.js';
</pre>
-<p>Возможно также использование такого синтаксиса с другими вариантами из перечисленных выше (импорт пространства имен или именованный импорт). В таком случае, импорт значения по умолчанию должен быть определён первым. Для примера:</p>
+<p>Возможно также использование такого синтаксиса с другими вариантами из перечисленных выше (импорт пространства имён или именованный импорт). В таком случае, импорт значения по умолчанию должен быть определён первым. Для примера:</p>
<pre class="brush: js">import myDefault, * as myModule from '/modules/my-module.js';
-// myModule использовано как пространство имен</pre>
+// myModule использовано как пространство имён</pre>
<p>или</p>
diff --git a/files/ru/web/javascript/reference/statements/let/index.html b/files/ru/web/javascript/reference/statements/let/index.html
index 2f38f7e7ca..df2a17de02 100644
--- a/files/ru/web/javascript/reference/statements/let/index.html
+++ b/files/ru/web/javascript/reference/statements/let/index.html
@@ -87,7 +87,7 @@ for (var i = 1; i &lt;= 5; i++) {
<p>Пример выше будет выполнен как и ожидается, так как пять экземпляров внутренней функции (анонимной) будут ссылаться на пять разных экземпляров переменной <code>i</code>. Пример будет выполнен неверно, если заменить директиву <code>let</code> на <code>var,</code> или удалить переменную <code>i</code> из параметров вложенной функции и использовать внешнюю переменную <code>i</code> во внутренней функции.</p>
-<p id="Правила_области_видимости">На верхнем уровне скриптов и функций <code>let, в отличии от var, не создает свойства на глобальном объекте</code>. Например:</p>
+<p id="Правила_области_видимости">На верхнем уровне скриптов и функций <code>let, в отличии от var, не создаёт свойства на глобальном объекте</code>. Например:</p>
<pre class="brush:js">var x = 'global_x';
let y = 'global_y';
@@ -130,16 +130,16 @@ console.log(privateScope.hiddenProperty); // error</pre>
<p>Эта техника позволяет получить только "статичное" приватное состояние - в примере выше, все экземпляры полученные из конструктора <code>SomeConstructor</code> будут ссылаться на одну и ту же область видимости <code>privateScope</code>.</p>
-<h3 id="Временные_мертвые_зоны_и_ошибки_при_использовании_let">Временные мертвые зоны и ошибки при использовании <code>let</code></h3>
+<h3 id="Временные_мёртвые_зоны_и_ошибки_при_использовании_let">Временные мёртвые зоны и ошибки при использовании <code>let</code></h3>
-<p>Повторное объявление той же переменной в том же блоке или функции приведет к выбросу исключения <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a>.</p>
+<p>Повторное объявление той же переменной в том же блоке или функции приведёт к выбросу исключения <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a>.</p>
<pre class="brush: js">if (x) {
let foo;
let foo; // SyntaxError thrown.
}</pre>
-<p>В стандарте ECMAScript 2015 переменные, объявленные директивой let, переносятся в начало блока. Но если вы сошлетесь в блоке на переменную, до того как она объявлена директивой let, то это приведет к выбросу исключения <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/ReferenceError" title="TypeError">ReferenceError</a></code>, потому что переменная находится во "временной мертвой зоне" с начала блока и до места ее объявления. (В отличии от переменной, объявленной через <code>var</code>, которая просто будет содержать значение <code>undefined</code>)</p>
+<p>В стандарте ECMAScript 2015 переменные, объявленные директивой let, переносятся в начало блока. Но если вы сошлётесь в блоке на переменную, до того как она объявлена директивой let, то это приведёт к выбросу исключения <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/ReferenceError" title="TypeError">ReferenceError</a></code>, потому что переменная находится во "временной мёртвой зоне" с начала блока и до места её объявления. (В отличии от переменной, объявленной через <code>var</code>, которая просто будет содержать значение <code>undefined</code>)</p>
<pre class="brush: js"><code>function do_something() {
console.log(bar); // undefined
@@ -175,7 +175,7 @@ for ( let i=i ; i &lt; 10 ; i++ ) {
<pre class="brush: js">for (let <var>expr1</var>; <var>expr2</var>; <var>expr3</var>) <var>statement</var>
</pre>
-<p>В этом примере <var>expr2</var>, <var>expr3, statement </var> заключены в неявный блок, который содержит блок локальных переменных, объявленных конструкцией <code>let <em>expr1</em></code>. Пример приведен выше.</p>
+<p>В этом примере <var>expr2</var>, <var>expr3, statement </var> заключены в неявный блок, который содержит блок локальных переменных, объявленных конструкцией <code>let <em>expr1</em></code>. Пример приведён выше.</p>
<h2 id="Примеры">Примеры</h2>
@@ -224,7 +224,7 @@ console.log(i); // i is not defined</pre>
<h4 id="Описание_2">Описание</h4>
-<p><strong><code>let</code> </strong>блок предоставляет локальную область видимости для переменных. Работа его заключается в привязке нуля или более переменных к области видимости этого блока кода, другими словами, он является блоком операторов. Отметим, что область видимости переменных, объявленных директивой <code>var</code>, в <strong>блоке <code>let</code></strong>, будет той же самой, что и если бы эти переменные были объявлены вне <strong>блока <code>let</code></strong>, иными словами областью видимости таких переменных по-прежнему является функция. Скобки в<strong> блоке </strong><code><strong>let</strong></code> являются обязательными. Опускание их приведет к синтаксической ошибке.</p>
+<p><strong><code>let</code> </strong>блок предоставляет локальную область видимости для переменных. Работа его заключается в привязке нуля или более переменных к области видимости этого блока кода, другими словами, он является блоком операторов. Отметим, что область видимости переменных, объявленных директивой <code>var</code>, в <strong>блоке <code>let</code></strong>, будет той же самой, что и если бы эти переменные были объявлены вне <strong>блока <code>let</code></strong>, иными словами областью видимости таких переменных по-прежнему является функция. Скобки в<strong> блоке </strong><code><strong>let</strong></code> являются обязательными. Опускание их приведёт к синтаксической ошибке.</p>
<h4 id="Пример">Пример</h4>
@@ -408,7 +408,7 @@ console.log(a); // 5</pre>
<ul>
<li>До SpiderMonkey 46 {{geckoRelease(46)}} выбрасывал {{jsxref("TypeError")}} на повторное объявление, вместо {{jsxref("SyntaxError")}} ({{bug(1198833)}}).</li>
- <li>До SpiderMonkey 44 {{geckoRelease(44)}}, <code>let</code> был доступен только для блоков кода обернутых в HTML <code>&lt;script type="application/javascript;version=1.7"&gt;</code>block (or higher version) и имел другую семантику.</li>
- <li>Поддержка в {{domxref("Worker")}} код спрятан за <code>dom.workers.latestJSVersion</code> флагом ({{bug(487070)}}). Без версии <code>let</code>, флаг будет удален в будущем ({{bug(1219523)}}).</li>
+ <li>До SpiderMonkey 44 {{geckoRelease(44)}}, <code>let</code> был доступен только для блоков кода обёрнутых в HTML <code>&lt;script type="application/javascript;version=1.7"&gt;</code>block (or higher version) и имел другую семантику.</li>
+ <li>Поддержка в {{domxref("Worker")}} код спрятан за <code>dom.workers.latestJSVersion</code> флагом ({{bug(487070)}}). Без версии <code>let</code>, флаг будет удалён в будущем ({{bug(1219523)}}).</li>
<li>Соблюдение стандарта ES2015 для <code>let</code> в SpIderMonkey отслеживается в {{bug(950547)}}</li>
</ul>
diff --git a/files/ru/web/javascript/reference/statements/return/index.html b/files/ru/web/javascript/reference/statements/return/index.html
index 37f44af769..7859580049 100644
--- a/files/ru/web/javascript/reference/statements/return/index.html
+++ b/files/ru/web/javascript/reference/statements/return/index.html
@@ -25,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Statements/return
<h2 id="Описание">Описание</h2>
-<p>При вызове оператора <code>return</code> в функции её выполнение прекращается. Указанное значение возвращается в место вызова функции. Например, приведенная ниже функция возвращает возведенное в квадрат значение своего аргумента, <code>x</code> (где <code>x</code> – это число):</p>
+<p>При вызове оператора <code>return</code> в функции её выполнение прекращается. Указанное значение возвращается в место вызова функции. Например, приведённая ниже функция возвращает возведённое в квадрат значение своего аргумента, <code>x</code> (где <code>x</code> – это число):</p>
<pre class="brush: js">function square(x) {
return x * x;
diff --git a/files/ru/web/javascript/reference/statements/throw/index.html b/files/ru/web/javascript/reference/statements/throw/index.html
index 1ba0dc149a..7dfceb09c3 100644
--- a/files/ru/web/javascript/reference/statements/throw/index.html
+++ b/files/ru/web/javascript/reference/statements/throw/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Statements/throw
<h2 id="Description" name="Description">Описание</h2>
-<p>Используйте инструкцию throw для генерирования исключения. Когда вы генерируете исключение (throw), <em>выражение</em> задает значение исключения. Каждое из следующих throw создает исключение:</p>
+<p>Используйте инструкцию throw для генерирования исключения. Когда вы генерируете исключение (throw), <em>выражение</em> задаёт значение исключения. Каждое из следующих throw создаёт исключение:</p>
<pre class="brush: js">throw "Error2"; // генерирует исключение, значением которого является строка
throw 42; // генерирует исключение, значением которого является число 42
@@ -35,11 +35,11 @@ throw true; // генерирует исключение, значением
<h3 id="Example:_Throw_an_object" name="Example:_Throw_an_object">Пример: Генерирование объекта в качестве исключения</h3>
-<p>Можно указать объект в качестве исключения. Затем можно получить ссылку на этот объект и доступ ко всем его свойствам в блоке catch. Следующий пример создает объект ошибки, который имеет тип UserException, и используется для генерации исключения.</p>
+<p>Можно указать объект в качестве исключения. Затем можно получить ссылку на этот объект и доступ ко всем его свойствам в блоке catch. Следующий пример создаёт объект ошибки, который имеет тип UserException, и используется для генерации исключения.</p>
<pre class="brush: js">function UserException(message) {
this.message = message;
- this.name = "Исключение, определенное пользователем";
+ this.name = "Исключение, определённое пользователем";
}
function getMonthName(mo) {
mo = mo-1; // Нужно скорректировать номер месяца согласно индексам массива (1=Jan, 12=Dec)
@@ -54,11 +54,11 @@ function getMonthName(mo) {
try {
// statements to try
- var myMonth = 15; // 15 находится вне границ массива, что приведет к исключению
+ var myMonth = 15; // 15 находится вне границ массива, что приведёт к исключению
var monthName = getMonthName(myMonth);
} catch (e) {
monthName = "неизвестен";
- logMyErrors(e.message, e.name); // передаем исключение в обработчик ошибок
+ logMyErrors(e.message, e.name); // передаём исключение в обработчик ошибок
}
</pre>
@@ -67,7 +67,7 @@ try {
<p>Следующий пример проверяет, является ли строка, переданная в функцию, почтовым индексом США. Если индекс имеет недопустимый формат, будет сгенерировано исключение посредством создания объекта, имеющего тип <code>ZipCodeFormatException</code>.</p>
<pre class="brush: js">/*
- * Создает объект ZipCode.
+ * Создаёт объект ZipCode.
*
* Допустимые форматы почтового индекса:
* 12345
@@ -125,16 +125,16 @@ function verifyZipCode(z) {
return z;
}
-a = verifyZipCode(95060); // вернет 95060
-b = verifyZipCode(9560); // вернет -1
-c = verifyZipCode("a"); // вернет -1
-d = verifyZipCode("95060"); // вернет 95060
-e = verifyZipCode("95060 1234"); // вернет 95060 1234
+a = verifyZipCode(95060); // вернёт 95060
+b = verifyZipCode(9560); // вернёт -1
+c = verifyZipCode("a"); // вернёт -1
+d = verifyZipCode("95060"); // вернёт 95060
+e = verifyZipCode("95060 1234"); // вернёт 95060 1234
</pre>
<h3 id="Example:_Rethrow_an_exception" name="Example:_Rethrow_an_exception">Пример: Повторный выброс исключения</h3>
-<p>Можно использовать throw для повторного выброса исключения после того, как оно было поймано. В следующем примере ловится исключение с числовым значением и делается повторный выброс, если его значение больше 50.  Повторно выброшенное исключение передается далее в вызывающую функцию или до верхнего уровня, который видит пользователь.</p>
+<p>Можно использовать throw для повторного выброса исключения после того, как оно было поймано. В следующем примере ловится исключение с числовым значением и делается повторный выброс, если его значение больше 50.  Повторно выброшенное исключение передаётся далее в вызывающую функцию или до верхнего уровня, который видит пользователь.</p>
<pre class="brush: js">try {
throw n; // бросаем исключение с числовым значением
diff --git a/files/ru/web/javascript/reference/statements/try...catch/index.html b/files/ru/web/javascript/reference/statements/try...catch/index.html
index 241bc90d83..a18bf95b37 100644
--- a/files/ru/web/javascript/reference/statements/try...catch/index.html
+++ b/files/ru/web/javascript/reference/statements/try...catch/index.html
@@ -86,7 +86,7 @@ catch (e) {
}
</pre>
-<p>Блок <code>catch</code> задает идентификатор (<code>e</code> в примере выше) который содержит объект исключения (в примере выше — значение, переданное оператору <code>throw</code>). Область видимости этого объекта ограничивается блоком <code>catch</code>.</p>
+<p>Блок <code>catch</code> задаёт идентификатор (<code>e</code> в примере выше) который содержит объект исключения (в примере выше — значение, переданное оператору <code>throw</code>). Область видимости этого объекта ограничивается блоком <code>catch</code>.</p>
<h3 id="Условный_блок_catch">Условный блок <code>catch</code></h3>
diff --git a/files/ru/web/javascript/reference/statements/var/index.html b/files/ru/web/javascript/reference/statements/var/index.html
index fd0ca7f862..78b2f5edcd 100644
--- a/files/ru/web/javascript/reference/statements/var/index.html
+++ b/files/ru/web/javascript/reference/statements/var/index.html
@@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/var
---
<div>{{jsSidebar("Statements")}}</div>
-<p>Оператор <strong>var </strong>объявляет переменную, инициализируя ее, при необходимости.</p>
+<p>Оператор <strong>var </strong>объявляет переменную, инициализируя её, при необходимости.</p>
<p>{{EmbedInteractiveExample("pages/js/statement-var.html")}}</p>
@@ -80,7 +80,7 @@ bla = 2;
<p>Поэтому объявление переменных рекомендовано выносить в начало их области видимости (в начало глобального кода или в начало функции). Это даёт понять какие переменные принадлежат функции (т.е. являются локальными), а какие обрабатываются в цепи областей видимости (т.е. являются глобальными).</p>
-<p>Важно отметить, что подъем будет влиять на объявление переменной, но не на инициализацию ее значения. Значение присваивается при выполнении оператора присваивания:</p>
+<p>Важно отметить, что подъем будет влиять на объявление переменной, но не на инициализацию её значения. Значение присваивается при выполнении оператора присваивания:</p>
<pre class="brush: js">function do_something() {
console.log(bar); // выведет undefined
@@ -153,7 +153,7 @@ console.log(x, y);</pre>
<pre class="brush: js">var x = 0; // x объявлена глобально, затем присваивается значение 0
-console.log(typeof z); // undefined, пока еще z не существует
+console.log(typeof z); // undefined, пока ещё z не существует
function a() { // когда функция a вызвана,
var y = 2; // y объявляется локально в функции a, затем присваивается 2
@@ -163,10 +163,10 @@ function a() { // когда функция a вызвана,
function b() { // когда функция b вызвана
x = 3; // присваивается 3 существующей глобальной x
y = 4; // присваивается 4 существующей внешней y
- z = 5; // создается новая глобальная переменная z и присваивается значение 5.
+ z = 5; // создаётся новая глобальная переменная z и присваивается значение 5.
} // (Порождает ReferenceError в strict mode(<em>строгом</em> режиме).)
- b(); // вызов b создает z как глобальную переменную
+ b(); // вызов b создаёт z как глобальную переменную
console.log(x, y, z); // 3 4 5
}
diff --git a/files/ru/web/javascript/reference/statements/while/index.html b/files/ru/web/javascript/reference/statements/while/index.html
index 1baf54a1f4..4c367fc488 100644
--- a/files/ru/web/javascript/reference/statements/while/index.html
+++ b/files/ru/web/javascript/reference/statements/while/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Statements/while
---
<div>{{jsSidebar("Statements")}}</div>
-<p><strong>Оператор while</strong> создает цикл, выполняющий заданную инструкцию, пока истинно проверяемое условие. Логическое значение условия вычисляется перед исполнением тела цикла.</p>
+<p><strong>Оператор while</strong> создаёт цикл, выполняющий заданную инструкцию, пока истинно проверяемое условие. Логическое значение условия вычисляется перед исполнением тела цикла.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/javascript/reference/statements/with/index.html b/files/ru/web/javascript/reference/statements/with/index.html
index 208863d500..e28aedee90 100644
--- a/files/ru/web/javascript/reference/statements/with/index.html
+++ b/files/ru/web/javascript/reference/statements/with/index.html
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Statements/with
<p><strong>Pro:</strong> Оператор <strong>with</strong> может помочь уменьшить размер файла, уменьшив необходимость повторять длинную ссылку на объект без снижения производительности.  Изменение цепочки контекста, необходимое для 'with', не требует больших вычислительных затрат.  Использование 'with' избавит интерпретатор от разбора повторных ссылок на объекты. Однако, обратите внимание, что во многих случаях это преимущество может быть достигнуто с помощью временной переменной для хранения ссылки на нужный объект.</p>
-<p><strong>Contra:</strong> Оператор <strong>with</strong> заставляет указанный объект быть найденным сначала среди всех имен поиска.  Поэтому все идентификаторы, которые не относятся к указанному объекту, будут обнаруживаться медленнее в блоке «<strong>with</strong>.  Там, где важна производительность, «with» следует использовать только для охвата блоков кода, которые обращаются к членам указанного объекта.</p>
+<p><strong>Contra:</strong> Оператор <strong>with</strong> заставляет указанный объект быть найденным сначала среди всех имён поиска.  Поэтому все идентификаторы, которые не относятся к указанному объекту, будут обнаруживаться медленнее в блоке «<strong>with</strong>.  Там, где важна производительность, «with» следует использовать только для охвата блоков кода, которые обращаются к членам указанного объекта.</p>
<h3 id="Ambiguity_contra">Ambiguity contra</h3>
diff --git a/files/ru/web/javascript/reference/strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/index.html
index 7b35f93897..fbf4446b55 100644
--- a/files/ru/web/javascript/reference/strict_mode/index.html
+++ b/files/ru/web/javascript/reference/strict_mode/index.html
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Strict_mode
---
<div>{{JsSidebar("More")}}</div>
-<p>Режим <em>strict</em> (<em>строгий</em> режим), введенный в <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript 5</a>, позволяет использовать более строгий вариант JavaScript. Это не просто подмножество языка: в нем сознательно используется семантика, отличающаяся от обычно принятой. Не поддерживающие строгий режим браузеры будут по-другому выполнять код, написанный для строгого режима, поэтому не полагайтесь на строгий режим без тестирования поддержки используемых особенностей этого режима. Строгий и обычный режим могут сосуществовать одновременно, а скрипт может переключаться в строгий режим по мере надобности.</p>
+<p>Режим <em>strict</em> (<em>строгий</em> режим), введённый в <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript 5</a>, позволяет использовать более строгий вариант JavaScript. Это не просто подмножество языка: в нем сознательно используется семантика, отличающаяся от обычно принятой. Не поддерживающие строгий режим браузеры будут по-другому выполнять код, написанный для строгого режима, поэтому не полагайтесь на строгий режим без тестирования поддержки используемых особенностей этого режима. Строгий и обычный режим могут сосуществовать одновременно, а скрипт может переключаться в строгий режим по мере надобности.</p>
<p>Строгий режим принёс ряд изменений в обычную семантику JavaScript. Во-первых, строгий режим заменяет исключениями некоторые ошибки, которые интерпретатор JavaScript ранее молча пропускал. Во-вторых, строгий режим исправляет ошибки, которые мешали движкам JavaScript выполнять оптимизацию -- в некоторых случаях код в строгом режиме может быть оптимизирован для более быстрого выполнения, чем код в обычном режиме. В-третьих, строгий режим запрещает использовать некоторые элементы синтаксиса, которые, вероятно, в следующих версиях ECMAScript получат особый смысл.</p>
@@ -18,11 +18,11 @@ translation_of: Web/JavaScript/Reference/Strict_mode
<h2 id="Активизация_строгого_режима">Активизация строгого режима</h2>
-<p>Строгий режим применяется ко <em>всему скрипту</em> или к <em>отдельным функциям</em>. Он не может быть применён к блокам операторов, заключенных в фигурные скобки -- попытка использовать его в подобном контексте будет проигнорирована. Код в <code>eval</code>, <code>Function</code>, в атрибутах обработчиков событий, в строках, переданных в <a href="/en/DOM/window.setTimeout" title="en/DOM/window.setTimeout"><code>setTimeout</code></a>, и т.п. рассматривается как законченный скрипт, и активизация строгого режима в нём выполняется ожидаемым образом.</p>
+<p>Строгий режим применяется ко <em>всему скрипту</em> или к <em>отдельным функциям</em>. Он не может быть применён к блокам операторов, заключённых в фигурные скобки -- попытка использовать его в подобном контексте будет проигнорирована. Код в <code>eval</code>, <code>Function</code>, в атрибутах обработчиков событий, в строках, переданных в <a href="/en/DOM/window.setTimeout" title="en/DOM/window.setTimeout"><code>setTimeout</code></a>, и т.п. рассматривается как законченный скрипт, и активизация строгого режима в нём выполняется ожидаемым образом.</p>
<h3 id="Строгий_режим_для_скриптов">Строгий режим для скриптов</h3>
-<p>Чтобы активизировать строгий режим для всего скрипта, нужно поместить оператор <code>"use strict";</code> или <code>'use strict';</code> перед всеми остальными операторами скрипта (выдержать приведенный синтаксис буквально).</p>
+<p>Чтобы активизировать строгий режим для всего скрипта, нужно поместить оператор <code>"use strict";</code> или <code>'use strict';</code> перед всеми остальными операторами скрипта (выдержать приведённый синтаксис буквально).</p>
<pre class="brush: js">// Синтаксис переключения в строгий режим всего скрипта
"use strict";
@@ -74,11 +74,11 @@ mistypeVaraible = 17; // mistypedVaraible, эта строка выбросит
<pre class="brush: js">"use strict";
-<code>// Присваивание значения глобальной переменной, защищенной от записи
+<code>// Присваивание значения глобальной переменной, защищённой от записи
var undefined = 5; // выдаст TypeError
var Infinity = 5; // выдаст TypeError
</code>
-// Присваивание значения свойству, защищенному от записи
+// Присваивание значения свойству, защищённому от записи
var obj1 = {};
Object.defineProperty(obj1, "x", { value: 42, writable: false });
obj1.x = 9; // выдаст TypeError
@@ -133,7 +133,7 @@ var sum = 015 + // !!! синтаксическая ошибка
console.log(sumWithOctal); // 16</code>
</pre>
-<p>В-седьмых, строгий режим в ECMAScript 2015 запрещает установку свойств {{Glossary("primitive")}} значениям. Без строгого режима, установка свойств просто игнорируется (no-op), со строгим режимом, однако, выдает {{jsxref ("TypeError")}}.</p>
+<p>В-седьмых, строгий режим в ECMAScript 2015 запрещает установку свойств {{Glossary("primitive")}} значениям. Без строгого режима, установка свойств просто игнорируется (no-op), со строгим режимом, однако, выдаёт {{jsxref ("TypeError")}}.</p>
<pre><code>(function() {
'use strict';
@@ -146,7 +146,7 @@ false.true = ''; // TypeError
<h3 id="Упрощение_работы_с_переменными">Упрощение работы с переменными</h3>
-<p>Строгий режим упрощает сопоставление имени переменной с местом ее определения в коде. Многие оптимизации времени компиляции полагаются на возможность считать, что переменная <em>X</em> хранится в <em>этом конкретном </em>месте исходного кода. Иногда, при компиляции JavaScript простое сопоставление имени переменной с местом ее определения в коде не возможно, без выполнения того самого кода. Строгий же режим исключает большинство таких случаев, благодаря чему оптимизации компилятора работают эффективнее.</p>
+<p>Строгий режим упрощает сопоставление имени переменной с местом её определения в коде. Многие оптимизации времени компиляции полагаются на возможность считать, что переменная <em>X</em> хранится в <em>этом конкретном </em>месте исходного кода. Иногда, при компиляции JavaScript простое сопоставление имени переменной с местом её определения в коде не возможно, без выполнения того самого кода. Строгий же режим исключает большинство таких случаев, благодаря чему оптимизации компилятора работают эффективнее.</p>
<p>Во-первых, строгий режим запрещает использование <code>with</code>. Проблема с <code>with</code> в том, что во время выполнения любое имя внутри блока может ссылаться как на свойство обрабатываемого объекта, так и на переменную в окружающем (или даже в глобальном) контексте -- невозможно знать об этом заранее. Строгий режим считает <code>with</code> синтаксической ошибкой, поэтому не остаётся шанса использовать имя переменной внутри <code>with</code> для ссылки на неизвестное место во время выполнения:</p>
@@ -206,7 +206,7 @@ eval('var y; delete y;'); // !!! </code>синтаксическая ошибк
<h3 id="Упрощение_eval_и_arguments">Упрощение <code>eval</code> и <code>arguments</code></h3>
-<p>В строгом режиме снижается количество странностей в поведении <code>arguments</code> и <code>eval</code>, оба из которых примешивают определённое количество магии в обычный код. Так <code>eval</code> добавляет или удаляет переменные и меняет их значения, а переменная <code>arguments</code> может удивить своими проиндексированными свойствами, которые являются ссылками (синонимами) для поименованных аргументов функции. Строгий режим делает большой шаг в прояснении этих двух ключевых слов, но полное их обуздание произойдет лишь в следующей редакции ECMAScript.</p>
+<p>В строгом режиме снижается количество странностей в поведении <code>arguments</code> и <code>eval</code>, оба из которых примешивают определённое количество магии в обычный код. Так <code>eval</code> добавляет или удаляет переменные и меняет их значения, а переменная <code>arguments</code> может удивить своими проиндексированными свойствами, которые являются ссылками (синонимами) для поименованных аргументов функции. Строгий режим делает большой шаг в прояснении этих двух ключевых слов, но полное их обуздание произойдёт лишь в следующей редакции ECMAScript.</p>
<p>Во-первых, ключевые слова <code>eval</code> и <code>arguments</code> не могут быть переопределены или изменены. Все подобные попытки это сделать являются синтаксическими ошибками:</p>
@@ -235,7 +235,7 @@ console.assert(pair[0] === 42);
console.assert(pair[1] === 17);
</pre>
-<p>В-третьих, свойство <code>arguments.callee</code> больше не поддерживается. В обычном коде свойство <code>arguments.callee</code> ссылается на саму функцию для вызова которой и был создан объект <code>arguments</code>. Малоприменимое свойство, так как функция заранее известна, и к ней можно обратиться и по ее имени непосредственно. Более того, <code>arguments.callee</code> значительно затрудняет такую оптимизацию, как <a href="https://ru.wikipedia.org/wiki/Межпроцедурная_оптимизация#Инлайнинг">инлайнинг</a>, потому как должна быть сохранена возможность обратиться к незаинлайненой функции на случай, если присутствует обращение к arguments.callee. В строгом режиме arguments.callee превращается в неудаляемое свойство, которое выбрасывает предостерегающее исключение при любой попытке обращения к нему:</p>
+<p>В-третьих, свойство <code>arguments.callee</code> больше не поддерживается. В обычном коде свойство <code>arguments.callee</code> ссылается на саму функцию для вызова которой и был создан объект <code>arguments</code>. Малоприменимое свойство, так как функция заранее известна, и к ней можно обратиться и по её имени непосредственно. Более того, <code>arguments.callee</code> значительно затрудняет такую оптимизацию, как <a href="https://ru.wikipedia.org/wiki/Межпроцедурная_оптимизация#Инлайнинг">инлайнинг</a>, потому как должна быть сохранена возможность обратиться к незаинлайненой функции на случай, если присутствует обращение к arguments.callee. В строгом режиме arguments.callee превращается в неудаляемое свойство, которое выбрасывает предостерегающее исключение при любой попытке обращения к нему:</p>
<pre class="brush: js">"use strict";
var f = function() { return arguments.callee; };
@@ -244,7 +244,7 @@ f(); // выдаст TypeError
<h3 id="Безопасный_JavaScript">"Безопасный" JavaScript</h3>
-<p>Строгий режим упрощает написание "безопасного" JavaScript кода. Сейчас некоторые веб-сайты предоставляют пользователям возможность писать JavaScript, который будет выполняться на сайте <em>от имени других пользователей. </em>В браузерах, JavaScript может иметь доступ к приватной информации пользователя, поэтому, в целях ограничения доступа к запретной функциональности, такой JavaScript перед выполнением должен быть частично преобразован. Гибкость JavaScript делает это практически невозможным без многочисленных проверок во время исполнения. Функционал, исполняемый языком иногда столь массивен, что выполнение любых дополнительных проверок во время исполнения скрипта приведет к значительной потере производительности. Однако, некоторые особенности строгого режима, плюс обязательное требование того, чтобы JavaScript, загруженный пользователем, имел строгий режим и вызывался определенным способом, существенно снижают потребность в таких проверках.</p>
+<p>Строгий режим упрощает написание "безопасного" JavaScript кода. Сейчас некоторые веб-сайты предоставляют пользователям возможность писать JavaScript, который будет выполняться на сайте <em>от имени других пользователей. </em>В браузерах, JavaScript может иметь доступ к приватной информации пользователя, поэтому, в целях ограничения доступа к запретной функциональности, такой JavaScript перед выполнением должен быть частично преобразован. Гибкость JavaScript делает это практически невозможным без многочисленных проверок во время исполнения. Функционал, исполняемый языком иногда столь массивен, что выполнение любых дополнительных проверок во время исполнения скрипта приведёт к значительной потере производительности. Однако, некоторые особенности строгого режима, плюс обязательное требование того, чтобы JavaScript, загруженный пользователем, имел строгий режим и вызывался определённым способом, существенно снижают потребность в таких проверках.</p>
<p>Во-первых, значение, передаваемое в функцию как <code>this</code>, в строгом режиме не приводится к объекту (не "упаковывается"). В обычной функции <code>this</code> всегда представляет собой объект: либо это непосредственно объект, в случае вызова с <code>this</code>, представляющим объект-значение; либо значение, упакованное в объект, в случае вызова с <code>this</code> типа Boolean, string, или number; либо глобальный объект, если тип <code>this</code> это <code>undefined</code> или <code>null</code>. (Для точного определения конкретного <code>this</code> используйте <code>{{jsxref('Global_Objects/Function/call', 'call')}}</code>, <code>{{jsxref('Global_Objects/Function/apply', 'apply')}}</code>, или <code>{{jsxref('Global_Objects/Function/bind', 'bind')}}</code>.) Автоматическая упаковка не только снижает производительность, но и выставляет на показ глобальный объект, что в браузерах является угрозой безопасности, потому что глобальный объект предоставляет доступ к функциональности, которая должна быть ограничена в среде "безопасного" JavaScript. Таким образом, для функции в строгом режиме точно определённый <code>this</code> не упаковывается в объект, а если не определён точно, <code>this</code> является <code>undefined</code>:</p>
@@ -304,7 +304,7 @@ function fun(static) { 'use strict'; } // !!!
</pre>
-<p>Два замечания, специфичных для Mozilla: Первое, если ваш код создан на JavaScript 1.7 или выше (например, chrome code, или тег <code>&lt;script type=""&gt;</code> заполнен правильно), и применен строгий режим, то <code>let</code> и <code>yield</code> имеют ту же функциональность, которая у них была изначально, когда они только появились. Однако в веб, в строгом коде загруженном через <code>&lt;script src=""&gt;</code> или <code>&lt;script&gt;...&lt;/script&gt;</code>, нельзя будет использовать <code>let</code>/<code>yield</code> в качестве идентификаторов. Второе, в то время как ES5 зарезервировал слова <code>class</code>, <code>enum</code>, <code>export</code>, <code>extends</code>, <code>import</code> и <code>super</code> для любого режима, в Firefox 5 Mozilla они были зарезервированы намного раньше и лишь для строгого режима.</p>
+<p>Два замечания, специфичных для Mozilla: Первое, если ваш код создан на JavaScript 1.7 или выше (например, chrome code, или тег <code>&lt;script type=""&gt;</code> заполнен правильно), и применён строгий режим, то <code>let</code> и <code>yield</code> имеют ту же функциональность, которая у них была изначально, когда они только появились. Однако в веб, в строгом коде загруженном через <code>&lt;script src=""&gt;</code> или <code>&lt;script&gt;...&lt;/script&gt;</code>, нельзя будет использовать <code>let</code>/<code>yield</code> в качестве идентификаторов. Второе, в то время как ES5 зарезервировал слова <code>class</code>, <code>enum</code>, <code>export</code>, <code>extends</code>, <code>import</code> и <code>super</code> для любого режима, в Firefox 5 Mozilla они были зарезервированы намного раньше и лишь для строгого режима.</p>
<p>Во-вторых, <a class="external" href="http://whereswalden.com/2011/01/24/new-es5-strict-mode-requirement-function-statements-not-at-top-level-of-a-program-or-function-are-prohibited/">в строгом режиме запрещается объявление функций глубже самого верхнего уровня скрипта или функции</a>. В обычном коде в браузерах, объявление функций позволено "везде", <em>что не является частью ES5 (или даже ES3!)</em> Это расширение различных браузеров, не имеющее общего совместимого подхода. Есть надежда, что в последующих редакциях ECMAScript будет определена новая семантика для объявления функций вне верхнего уровня скрипта или функции. <a class="external" href="http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls">Запрет на объявление таких функций в строгом режиме</a> производит "зачистку" для спецификации в будущем релизе ECMAScript:</p>
@@ -326,7 +326,7 @@ function baz() { // верно
<h2 id="Строгий_режим_в_браузерах">Строгий режим в браузерах</h2>
-<p>В большинстве браузеров в настоящее время строгий режим реализован. Однако не стоит впадать в слепую зависимость от него, потому что существует множество <a class="external external-icon" href="http://caniuse.com/use-strict" rel="external" title="caniuse.com availability of strict mode">Версий браузеров, поддерживающих строгий режим лишь частично</a> или вовсе не поддерживающих оный (например, Internet Explorer ниже версии 10!). <em>Строгий режим изменяет семантику.</em> Надежда на эти изменения приведет к ошибкам и погрешностям в браузерах, в которых строгий режим не реализован. Проявляйте осторожность при использовании строгого режима, и подкрепляйте надежность строгого режима тестами особенностей, которые проверяют, насколько верно реализованы его фрагменты. Наконец, старайтесь <em>тестировать свой код в браузерах, как поддерживающих, так и не поддерживающих строгий режим</em>. Если вы проводите тестирование только в тех браузерах, которые не поддерживают строгий режим, то вполне вероятно у вас появятся проблемы в браузерах, его поддерживающих, и наоборот.</p>
+<p>В большинстве браузеров в настоящее время строгий режим реализован. Однако не стоит впадать в слепую зависимость от него, потому что существует множество <a class="external external-icon" href="http://caniuse.com/use-strict" rel="external" title="caniuse.com availability of strict mode">Версий браузеров, поддерживающих строгий режим лишь частично</a> или вовсе не поддерживающих оный (например, Internet Explorer ниже версии 10!). <em>Строгий режим изменяет семантику.</em> Надежда на эти изменения приведёт к ошибкам и погрешностям в браузерах, в которых строгий режим не реализован. Проявляйте осторожность при использовании строгого режима, и подкрепляйте надёжность строгого режима тестами особенностей, которые проверяют, насколько верно реализованы его фрагменты. Наконец, старайтесь <em>тестировать свой код в браузерах, как поддерживающих, так и не поддерживающих строгий режим</em>. Если вы проводите тестирование только в тех браузерах, которые не поддерживают строгий режим, то вполне вероятно у вас появятся проблемы в браузерах, его поддерживающих, и наоборот.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html
index 5447834c4b..4c4b882462 100644
--- a/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html
+++ b/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html
@@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Strict_mode/Transitioning_to_strict_mod
---
<div>{{jsSidebar("More")}}</div>
-<p>В ECMAScript 5 введен {{jsxref('Strict_mode', 'строгий режим')}}, который реализован во всех основных браузерах (включая IE10). В то время как включение интерпретации браузерами кода в строгом режиме делается очень просто (достаточно добавить <code>"use strict";</code> в верхней части вашего исходного кода), для адаптации уже существующего кода к строгому режиму потребуется немного больше работы.</p>
+<p>В ECMAScript 5 введён {{jsxref('Strict_mode', 'строгий режим')}}, который реализован во всех основных браузерах (включая IE10). В то время как включение интерпретации браузерами кода в строгом режиме делается очень просто (достаточно добавить <code>"use strict";</code> в верхней части вашего исходного кода), для адаптации уже существующего кода к строгому режиму потребуется немного больше работы.</p>
<p>Цель этой статьи: предоставить для разработчиков руководство по переходу к строгому режиму.</p>
@@ -105,15 +105,15 @@ s.opacity = 1;
<h4 id="this_в_вызовах_функции"><code>this</code> в вызовах функции</h4>
-<p>В функциях как <code>f()</code>, значением <code>this</code> является глобальный объект. В строгом режиме он теперь равен <code>undefined</code>. Когда функция вызывалась с помощью <code>{{jsxref('Global_Objects/Function/call', 'call')}}</code> или <code>{{jsxref('Global_Objects/Function/apply', 'apply')}}</code>, если значением был примитив, он упаковывался в соответствующий объект (или в глобальный объект для <code>undefined</code> и <code>null</code>). В строгом режиме значение передается без каких-либо преобразований и замен.</p>
+<p>В функциях как <code>f()</code>, значением <code>this</code> является глобальный объект. В строгом режиме он теперь равен <code>undefined</code>. Когда функция вызывалась с помощью <code>{{jsxref('Global_Objects/Function/call', 'call')}}</code> или <code>{{jsxref('Global_Objects/Function/apply', 'apply')}}</code>, если значением был примитив, он упаковывался в соответствующий объект (или в глобальный объект для <code>undefined</code> и <code>null</code>). В строгом режиме значение передаётся без каких-либо преобразований и замен.</p>
<h4 id="arguments_не_является_псевдонимом_именованных_аргументов_функции"><code>arguments</code> не является псевдонимом именованных аргументов функции</h4>
-<p>В нестрогом режиме изменение значения в объекте <code>arguments</code> изменяло соответствующий именованный аргумент функции. Это усложняло оптимизацию кода для движков JavaScript и сам код становился менее читабельным и понятным. В строгом режиме объект <code>arguments</code> создается и инициализируется с теми же значениями, что и именованные аргументы, но изменения объекта arguments или именованных аргументов теперь никак не влияют друг на друга.</p>
+<p>В нестрогом режиме изменение значения в объекте <code>arguments</code> изменяло соответствующий именованный аргумент функции. Это усложняло оптимизацию кода для движков JavaScript и сам код становился менее читабельным и понятным. В строгом режиме объект <code>arguments</code> создаётся и инициализируется с теми же значениями, что и именованные аргументы, но изменения объекта arguments или именованных аргументов теперь никак не влияют друг на друга.</p>
<h4 id="Изменения_в_eval">Изменения в <code>eval</code></h4>
-<p>В строгом режиме eval не создает новой переменной в той области видимости, где был вызван. Также, конечно, в строгом режиме, строка выполняется с правилами строгого режима. Потребуется провести тщательное тестирование, чтобы убедиться, что ничего не сломалось. Не использовать eval, если он вам действительно не нужен, может быть другим прагматичным решением.</p>
+<p>В строгом режиме eval не создаёт новой переменной в той области видимости, где был вызван. Также, конечно, в строгом режиме, строка выполняется с правилами строгого режима. Потребуется провести тщательное тестирование, чтобы убедиться, что ничего не сломалось. Не использовать eval, если он вам действительно не нужен, может быть другим прагматичным решением.</p>
<h2 id="Строго-нейтральный_код">Строго-нейтральный код</h2>