aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/javascript/reference')
-rw-r--r--files/ru/web/javascript/reference/classes/constructor/index.html20
-rw-r--r--files/ru/web/javascript/reference/classes/index.html36
-rw-r--r--files/ru/web/javascript/reference/classes/private_class_fields/index.html16
-rw-r--r--files/ru/web/javascript/reference/classes/public_class_fields/index.html26
-rw-r--r--files/ru/web/javascript/reference/errors/bad_radix/index.html10
-rw-r--r--files/ru/web/javascript/reference/errors/cant_assign_to_property/index.html6
-rw-r--r--files/ru/web/javascript/reference/errors/cyclic_object_value/index.html8
-rw-r--r--files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html10
-rw-r--r--files/ru/web/javascript/reference/functions/rest_parameters/index.html22
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/flat/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/map/index.html16
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/slice/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/sort/index.html20
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/splice/index.html16
-rw-r--r--files/ru/web/javascript/reference/global_objects/bigint/asuintn/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getdate/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getday/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getfullyear/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/gethours/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getmilliseconds/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getminutes/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getmonth/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/getseconds/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/gettime/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/index.html14
-rw-r--r--files/ru/web/javascript/reference/global_objects/eval/index.html22
-rw-r--r--files/ru/web/javascript/reference/global_objects/generator/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/toexponential/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/tofixed/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/toprecision/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/tostring/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/create/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/entries/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/promise/then/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/proxy/index.html18
-rw-r--r--files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/proxy/proxy/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/reflect/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/index.html22
-rw-r--r--files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/set/set/index.html4
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/endswith/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/index.html22
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/matchall/index.html10
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/replaceall/index.html8
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/slice/index.html12
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/split/index.html20
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/startswith/index.html6
-rw-r--r--files/ru/web/javascript/reference/global_objects/weakmap/index.html6
-rw-r--r--files/ru/web/javascript/reference/lexical_grammar/index.html50
-rw-r--r--files/ru/web/javascript/reference/operators/addition/index.html6
-rw-r--r--files/ru/web/javascript/reference/operators/addition_assignment/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/assignment/index.html4
-rw-r--r--files/ru/web/javascript/reference/operators/bitwise_and/index.html8
-rw-r--r--files/ru/web/javascript/reference/operators/class/index.html8
-rw-r--r--files/ru/web/javascript/reference/operators/conditional_operator/index.html14
-rw-r--r--files/ru/web/javascript/reference/operators/decrement/index.html6
-rw-r--r--files/ru/web/javascript/reference/operators/nullish_coalescing_operator/index.html18
-rw-r--r--files/ru/web/javascript/reference/operators/operator_precedence/index.html6
-rw-r--r--files/ru/web/javascript/reference/operators/property_accessors/index.html24
-rw-r--r--files/ru/web/javascript/reference/operators/spread_syntax/index.html36
-rw-r--r--files/ru/web/javascript/reference/operators/yield/index.html6
-rw-r--r--files/ru/web/javascript/reference/operators/yield_star_/index.html10
-rw-r--r--files/ru/web/javascript/reference/statements/async_function/index.html10
-rw-r--r--files/ru/web/javascript/reference/statements/class/index.html8
-rw-r--r--files/ru/web/javascript/reference/statements/for...of/index.html36
71 files changed, 400 insertions, 400 deletions
diff --git a/files/ru/web/javascript/reference/classes/constructor/index.html b/files/ru/web/javascript/reference/classes/constructor/index.html
index 3b0b38b700..81546fdb27 100644
--- a/files/ru/web/javascript/reference/classes/constructor/index.html
+++ b/files/ru/web/javascript/reference/classes/constructor/index.html
@@ -14,13 +14,13 @@ translation_of: Web/JavaScript/Reference/Classes/constructor
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">constructor([arguments]) { ... }</pre>
+<pre class="syntaxbox">constructor([arguments]) { ... }</pre>
<h2 id="Описание">Описание</h2>
<p>Конструктор позволяет произвести начальную инициализацию, которая должна быть выполнена до того, как остальные методы будут вызваны.</p>
-<pre class="notranslate">class Person {
+<pre>class Person {
constructor(name) {
this.name = name;
@@ -38,17 +38,17 @@ otto.introduce();</pre>
<p>Если вы не определили метод constructor, то будет использован конструктор по умолчанию. Если ваш класс базовый, то конструктор по умолчанию пустой:</p>
-<pre class="notranslate">constructor() {}</pre>
+<pre>constructor() {}</pre>
<p>Если ваш класс является производным классом, конструктор по умолчанию вызывает родительский конструктор, передавая любые аргументы, которые были предоставлены:</p>
-<pre class="notranslate">constructor(...args) {
+<pre>constructor(...args) {
super(...args);
}</pre>
<p>Это позволяет работать следующему коду:</p>
-<pre class="notranslate">class ValidationError extends Error {
+<pre>class ValidationError extends Error {
printCustomerMessage() {
return `Проверка не удалась :-( (подробности: ${this.message})`;
@@ -72,7 +72,7 @@ try {
<p>Однако, если определён ваш собственный конструктор и класс является производным от какого-либо родительского класса, то вы должны явно объявить конструктор родительского класса, используя <code>super</code>. К примеру:</p>
-<pre class="notranslate">class ValidationError extends Error {
+<pre>class ValidationError extends Error {
constructor(message) {
super(message); // вызов конструктора родительского класса
@@ -106,7 +106,7 @@ try {
<p>Данный фрагмент кода взят из <a href="https://github.com/GoogleChrome/samples/blob/gh-pages/classes-es6/index.html">classes sample</a> (<a href="https://googlechrome.github.io/samples/classes-es6/index.html">live demo</a>).</p>
-<pre class="brush: js notranslate">class Square extends Polygon {
+<pre class="brush: js">class Square extends Polygon {
constructor(length) {
// Здесь вызывается конструктор родительского класса,
// в который передаётся length в качестве аргументов,
@@ -130,7 +130,7 @@ try {
<p>Посмотрите на этот отрывок кода.</p>
-<pre class="brush: js notranslate">class Polygon {
+<pre class="brush: js">class Polygon {
constructor() {
this.name = "Polygon";
}
@@ -158,11 +158,11 @@ console.log(newInstance.name); //Polygon</pre>
<p>Если вы не определите метод constructor, будет использован constructor по умолчанию. Для базовых классов, constructor по умолчанию:</p>
-<pre class="brush: js notranslate">constructor() {}</pre>
+<pre class="brush: js">constructor() {}</pre>
<p>Для производных классов, constructor по умолчанию:</p>
-<pre class="brush: js notranslate">constructor(...args) {
+<pre class="brush: js">constructor(...args) {
super(...args);
}</pre>
diff --git a/files/ru/web/javascript/reference/classes/index.html b/files/ru/web/javascript/reference/classes/index.html
index f8a63e92b2..742cd341ca 100644
--- a/files/ru/web/javascript/reference/classes/index.html
+++ b/files/ru/web/javascript/reference/classes/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Classes
<p>Первый способ определения класса — <strong>class declaration (</strong><em>объявление класса</em><strong>)</strong>. Для этого необходимо воспользоваться ключевым словом <code>class</code> и указать имя класса (в примере — «Rectangle»).</p>
-<pre class="brush: js notranslate"><code>class Rectangle {
+<pre class="brush: js"><code>class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Classes
<p>Разница между <em>объявлением функции</em> (<em>function declaration</em>) и <em>объявлением класса</em> (<em>class declaration</em>) в том, что <em>объявление функции</em> совершает подъём ({{Glossary("Hoisting", "hoisting")}}), в то время как <em>объявление класса</em> — нет. Поэтому вначале необходимо объявить ваш класс и только затем работать с ним, а код же вроде следующего сгенерирует исключение типа {{jsxref("ReferenceError")}}:</p>
-<pre class="brush: js notranslate"><code>var p = new Rectangle(); // ReferenceError
+<pre class="brush: js"><code>var p = new Rectangle(); // ReferenceError
class Rectangle {}</code></pre>
@@ -41,7 +41,7 @@ class Rectangle {}</code></pre>
<p>Второй способ определения класса — <strong>class expression (</strong><em>выражение класса</em><strong>)</strong>. Можно создавать именованные и безымянные выражения. В первом случае имя выражения класса находится в локальной области видимости класса и может быть получено через свойства самого класса, а не его экземпляра.</p>
-<pre class="brush: js notranslate"><code>// безымянный
+<pre class="brush: js"><code>// безымянный
var Rectangle = class {
constructor(height, width) {
this.height = height;
@@ -84,7 +84,7 @@ console.log(Rectangle.name);
<p>Смотрите также <a href="/ru/docs/Web/JavaScript/Reference/Functions/%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2">определение методов</a>.</p>
-<pre class="brush: js notranslate"><code>class Rectangle {
+<pre class="brush: js"><code>class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
@@ -107,7 +107,7 @@ console.log(square.area); // 100</code></pre>
<p>Ключевое слово <code><a href="/en-US/docs/Web/JavaScript/Reference/Classes/static">static</a></code>, определяет статический метод или свойства для класса. Статические методы и свойства вызываются без <a href="/ru/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript#The_Object_.28Class_Instance.29">инстанцирования</a> их класса, и <strong>не могут</strong> быть вызваны у экземпляров (<em>instance</em>) класса. Статические методы, часто используются для создания служебных функций для приложения, в то время как статические свойства полезны для кеширования в рамках класса, фиксированной конфигурации или любых других целей, не связанных с реплецированием данных между экземплярами.</p>
-<pre class="brush: js notranslate"><code>class Point {
+<pre class="brush: js"><code>class Point {
constructor(x, y) {
this.x = x;
this.y = y;
@@ -136,7 +136,7 @@ console.log(Point.distance(p1, p2)); // 7.0710678118654755</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> является типом boolean, string, number, undefined, null), тогда <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);">undefined</span></font> внутри вызываемой функции. Автоупаковка не будет произведена. Поведение будет таким же как если бы мы писали код в нестрогом режиме.</p>
-<pre class="brush: js notranslate"><code>class Animal {
+<pre class="brush: js"><code>class Animal {
speak() {
return this;
}
@@ -156,7 +156,7 @@ 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>
-<pre class="brush: js notranslate"><code>function Animal() { }
+<pre class="brush: js"><code>function Animal() { }
Animal.prototype.speak = function(){
return this;
@@ -178,7 +178,7 @@ eat(); // глобальный объект (нестрогий режим)</cod
<p>Свойства экземпляра должны быть определены в методе класса:</p>
-<pre class="notranslate">class Rectangle {
+<pre>class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
@@ -187,7 +187,7 @@ eat(); // глобальный объект (нестрогий режим)</cod
<p>Статические (class-side) свойства и свойства прототипа должны быть определены за рамками тела класса:</p>
-<pre class="notranslate">Rectangle.staticWidth = 20;
+<pre>Rectangle.staticWidth = 20;
Rectangle.prototype.prototypeWidth = 25;
</pre>
@@ -201,7 +201,7 @@ Rectangle.prototype.prototypeWidth = 25;
<p>Используя Javascript синтаксис определения полей, приведённый выше пример может быть изменён следующим образом:</p>
-<pre class="notranslate">class Rectangle {
+<pre>class Rectangle {
height = 0;
width;
constructor(height, width) {
@@ -218,7 +218,7 @@ Rectangle.prototype.prototypeWidth = 25;
<p>Предыдущий пример может быть изменён следующим образом, используя приватные поля:</p>
-<pre class="notranslate">class Rectangle {
+<pre>class Rectangle {
#height = 0;
#width;
constructor(height, width) {
@@ -241,7 +241,7 @@ Rectangle.prototype.prototypeWidth = 25;
<p>Ключевое слово <code><a href="/en-US/docs/Web/JavaScript/Reference/Classes/extends">extends</a></code> используется в <em>объявлениях классов</em> и <em>выражениях классов</em> для создания класса, дочернего относительно другого класса.</p>
-<pre class="brush: js notranslate"><code class="language-js">class Animal {
+<pre class="brush: js"><code class="language-js">class Animal {
constructor(name) {
this.name = name;
}</code>
@@ -268,7 +268,7 @@ d.speak(); // Митци лает</code></pre>
<p>Аналогичным образом можно расширять традиционные, основанные на функциях "классы":</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">function Animal (name) {
+<pre class="brush: js line-numbers language-js"><code class="language-js">function Animal (name) {
this.name = name;
}
Animal.prototype.speak = function () {
@@ -288,7 +288,7 @@ d.speak(); // Митци лает
<p>Обратите внимание, что классы не могут расширять обычные (non-constructible) объекты. Если вам необходимо создать наследование от обычного объекта, в качестве замены можно использовать {{jsxref("Object.setPrototypeOf()")}}:</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var Animal = {
+<pre class="brush: js line-numbers language-js"><code class="language-js">var Animal = {
speak() {
console.log(</code>`${this.name} издаёт звук.`<code class="language-js">);
}
@@ -312,7 +312,7 @@ d.speak(); // Митци издаёт звук.</code></pre>
<p>Например, при использовании таких методов, как {{jsxref("Array.map", "map()")}}, который возвращает конструктор по умолчанию, вам хотелось бы, чтобы они возвращали родительский объект <code>Array</code> вместо объекта <code>MyArray</code>. Символ {{jsxref("Symbol.species")}} позволяет это реализовать:</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">class MyArray extends Array {
+<pre class="brush: js line-numbers language-js"><code class="language-js">class MyArray extends Array {
// Изменить species на родительский конструктор Array
static get [Symbol.species]() { return Array; }
}
@@ -326,7 +326,7 @@ console.log(mapped instanceof Array); // true</code></pre>
<p>Ключевое слово <code><a href="/ru/docs/Web/JavaScript/Reference/Operators/super">super</a></code> используется для вызова функций на родителе объекта.</p>
-<pre class="brush: js language-js notranslate"><code class="language-js">class Cat {
+<pre class="brush: js language-js"><code class="language-js">class Cat {
constructor(name) {
this.name = name;
}
@@ -355,7 +355,7 @@ l.speak();
<p>Для реализации mix-ins в ECMAScript можно использовать функцию, которая в качестве аргумента принимает родительский класс, а возвращает подкласс, его расширяющий:</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var calculatorMixin = Base =&gt; class extends Base {
+<pre class="brush: js line-numbers language-js"><code class="language-js">var calculatorMixin = Base =&gt; class extends Base {
calc() { }
};
@@ -365,7 +365,7 @@ var randomizerMixin = Base =&gt; class extends Base {
<p>Класс, использующий такие mix-ins, можно описать следующим образом:</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">class Foo { }
+<pre class="brush: js line-numbers language-js"><code class="language-js">class Foo { }
class Bar extends calculatorMixin(randomizerMixin(Foo)) { }</code></pre>
<h2 id="Спецификации">Спецификации</h2>
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 356e8b5517..597d98ebeb 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
@@ -10,7 +10,7 @@ original_slug: Web/JavaScript/Reference/Classes/Приватные_поля_кл
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">class ClassWithPrivateField {
+<pre class="syntaxbox">class ClassWithPrivateField {
#privateField
}
@@ -33,7 +33,7 @@ class ClassWithPrivateStaticField {
<p>Ограничение статических переменных, вызываемых только статическими методами, все ещё сохраняется.</p>
-<pre class="brush: js notranslate">class ClassWithPrivateStaticField {
+<pre class="brush: js">class ClassWithPrivateStaticField {
  static #PRIVATE_STATIC_FIELD
  static publicStaticMethod() {
@@ -50,7 +50,7 @@ console.assert(ClassWithPrivateStaticField.publicStaticMethod() === 42)</pre>
<p>Это может привести к неожиданному поведению при использовании this.</p>
-<pre class="brush: js notranslate">class BaseClassWithPrivateStaticField {
+<pre class="brush: js">class BaseClassWithPrivateStaticField {
  static #PRIVATE_STATIC_FIELD
  static basePublicStaticMethod() {
@@ -76,7 +76,7 @@ console.assert(error instanceof TypeError)
<p><span class="tlid-translation translation" lang="ru"><span title="">Инкапсуляция обеспечивается языком.</span> <span title="">Обращение к <code>#</code> именам вне области видимости является синтаксической ошибкой.</span></span></p>
-<pre class="brush: js notranslate">class ClassWithPrivateField {
+<pre class="brush: js">class ClassWithPrivateField {
  #privateField
  constructor() {
@@ -99,7 +99,7 @@ instance.#privateField === 42 // Syntax error
<p>Приватные статические методы могут быть генераторами, асинхронными функциями и асинхронными функциями-генераторами.</p>
-<pre class="brush: js notranslate">class ClassWithPrivateStaticMethod {
+<pre class="brush: js">class ClassWithPrivateStaticMethod {
    static #privateStaticMethod() {
        return 42
    }
@@ -119,7 +119,7 @@ console.assert(ClassWithPrivateStaticMethod.publicStaticMethod2() === 42);
<p>Это может привести к неожиданному поведению при его использовании <strong><code>this</code></strong>. В следующем примере <code>this</code> относится к классу <code>Derived</code> (а не к классу <code>Base</code>), когда мы пытаемся вызвать <code>Derived.publicStaticMethod2()</code>, и, таким образом, имеет такое же "ограничение по происхождению", как упоминалось выше:</p>
-<pre class="brush: js notranslate">class Base {
+<pre class="brush: js">class Base {
    static #privateStaticMethod() {
        return 42;
    }
@@ -141,7 +141,7 @@ console.log(Derived.publicStaticMethod2()); // TypeError
<p>Приватные методы экземпляров это методы, доступные у экземпляров класса, доступ к которым запрещён также, как у приватных полей класса.</p>
-<pre class="brush: js notranslate">class ClassWithPrivateMethod {
+<pre class="brush: js">class ClassWithPrivateMethod {
  #privateMethod() {
    return 'hello world'
  }
@@ -157,7 +157,7 @@ console.log(instance.getPrivateMessage())
<p>Приватные методы экземпляров могут быть генератором, async, или функциями async генератора. Приватные геттеры и сеттеры также возможны:</p>
-<pre class="brush: js notranslate">class ClassWithPrivateAccessor {
+<pre class="brush: js">class ClassWithPrivateAccessor {
  #message
  get #decoratedMessage() {
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 865babfded..0c4eb7a7ea 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
@@ -47,7 +47,7 @@ class ClassWithPublicInstanceMethod {
<p>Публичные статические поля объявляются при помощи ключевого слова <code>static</code>. Они добавляются в конструктор класса во время его создания с помощью {{jsxref("Global_Objects/Object/defineProperty", "Object.defineProperty()")}}. Доступ также осуществляется через конструктор класса.</p>
-<pre class="brush: js notranslate">class ClassWithStaticField {
+<pre class="brush: js">class ClassWithStaticField {
  static staticField = 'static field';
}
@@ -57,7 +57,7 @@ console.log(ClassWithStaticField.staticField);
<p>Поля без инициализации имеют значение <code>undefined</code>.</p>
-<pre class="brush: js notranslate">class ClassWithStaticField {
+<pre class="brush: js">class ClassWithStaticField {
  static staticField;
}
@@ -67,7 +67,7 @@ console.log(ClassWithStaticField.staticField);
<p>Публичные статические поля не переопределяются в наследниках класса, а могут быть доступны через иерархию прототипов.</p>
-<pre class="brush: js notranslate">class ClassWithStaticField {
+<pre class="brush: js">class ClassWithStaticField {
  static baseStaticField = 'base field';
}
@@ -83,7 +83,7 @@ console.log(SubClassWithStaticField.baseStaticField);
<p>При определении полей <code>this</code> ссылается на конструктор класса. Также можно обратиться к нему по имени и использовать <code>super</code> для получения конструктора базового класса, если он существует.</p>
-<pre class="brush: js notranslate">class ClassWithStaticField {
+<pre class="brush: js">class ClassWithStaticField {
  static baseStaticField = 'base static field';
  static anotherBaseStaticField = this.baseStaticField;
@@ -108,7 +108,7 @@ console.log(SubClassWithStaticField.subStaticField);
<p>Публичные поля экземпляра добавляются через {{jsxref("Global_Objects/Object/defineProperty",
"Object.defineProperty()")}} либо перед тем, как будет исполнено тело конструктора в базовом классе, либо после того, как завершится <code>super()</code> в классе наследнике.</p>
-<pre class="brush: js notranslate">class ClassWithInstanceField {
+<pre class="brush: js">class ClassWithInstanceField {
instanceField = 'instance field';
}
@@ -118,7 +118,7 @@ console.log(instance.instanceField);
<p>Поля без инициализации имеют значение <code>undefined</code>.</p>
-<pre class="brush: js notranslate">class ClassWithInstanceField {
+<pre class="brush: js">class ClassWithInstanceField {
  instanceField;
}
@@ -129,7 +129,7 @@ console.log(instance.instanceField);
<p>Как и свойства, названия полей могут вычисляться.</p>
-<pre class="brush: js notranslate">const PREFIX = 'prefix';
+<pre class="brush: js">const PREFIX = 'prefix';
class ClassWithComputedFieldName {
    [`${PREFIX}Field`] = 'prefixed field';
@@ -141,7 +141,7 @@ console.log(instance.prefixField);
<p>При определении полей <code>this</code> ссылается на создающийся экземпляр класса. Как и в публичных методах экземпляра, получить доступ к прототипу базового класса можно с помощью <code>super</code>.</p>
-<pre class="brush: js notranslate">class ClassWithInstanceField {
+<pre class="brush: js">class ClassWithInstanceField {
  baseInstanceField = 'base field';
  anotherBaseInstanceField = this.baseInstanceField;
  baseInstanceMethod() { return 'base method output'; }
@@ -166,7 +166,7 @@ console.log(sub.subInstanceField);
<p>Ключевое слово <code><strong>static</strong></code> объявляет статический метод класса. Статические методы не вызываются из экземпляра, вместо этого они вызывается из самого класса. Чаще всего это какие-либо служебные функции, такие как функции создания или копирования объектов.</p>
-<pre class="brush: js notranslate">class ClassWithStaticMethod {
+<pre class="brush: js">class ClassWithStaticMethod {
static staticMethod() {
return 'static method has been called.';
}
@@ -182,7 +182,7 @@ console.log(ClassWithStaticMethod.staticMethod());
<p>Как и следует из названия, публичные методы экземпляра это методы, доступные для вызова из экземпляров.</p>
-<pre class="brush: js notranslate">class ClassWithPublicInstanceMethod {
+<pre class="brush: js">class ClassWithPublicInstanceMethod {
publicMethod() {
return 'hello world';
}
@@ -196,7 +196,7 @@ console.log(instance.publicMethod());
<p>Вы можете использовать генераторы, асинхронные функции и асинхронные генераторы.</p>
-<pre class="brush: js notranslate">class ClassWithFancyMethods {
+<pre class="brush: js">class ClassWithFancyMethods {
*generatorMethod() { }
async asyncMethod() { }
async *asyncGeneratorMethod() { }
@@ -205,7 +205,7 @@ console.log(instance.publicMethod());
<p>Внутри методов экземпляра, <code>this</code> ссылается на сам экземпляр.<br>
В классах наследниках, <code>super</code> даёт доступ к прототипу базового класса, позволяя вызывать его методы.</p>
-<pre class="brush: js notranslate">class BaseClass {
+<pre class="brush: js">class BaseClass {
  msg = 'hello world';
  basePublicMethod() {
    return this.msg;
@@ -225,7 +225,7 @@ console.log(instance.subPublicMethod());
<p>Геттеры и сеттеры это специальные методы, которые привязаны к свойствам класса и которые вызываются, когда к свойству обращаются или записывают. Используйте <a href="/ru/docs/Web/JavaScript/Reference/Functions/get">get</a> и <a href="/ru/docs/Web/JavaScript/Reference/Functions/set">set</a> для объявления публичных геттеров и сеттеров экземпляра.</p>
-<pre class="brush: js notranslate">class ClassWithGetSet {
+<pre class="brush: js">class ClassWithGetSet {
  #msg = 'hello world';
  get msg() {
    return this.#msg;
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 c4cc82a20b..002078bc54 100644
--- a/files/ru/web/javascript/reference/errors/bad_radix/index.html
+++ b/files/ru/web/javascript/reference/errors/bad_radix/index.html
@@ -21,11 +21,11 @@ RangeError: toString() radix argument must be between 2 and 36 (Chrome)
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p><span class="notranslate">Метод </span> {{jsxref("Number.prototype.toString()")}} <span class="notranslate">был вызван с дополнительным параметром <code>radix</code>.</span> <span class="notranslate"> Его значение должно быть целым числом, принадлежащим промежутку от 2 до 36 и указывающим основание системы счисления, которая должна быть использована для представления численных значений.</span> <span class="notranslate"> Например, десятичное (основание 10) число 169 представляется в шестнадцатеричном виде (основание 16) как A9.</span></p>
+<p><span>Метод </span> {{jsxref("Number.prototype.toString()")}} <span>был вызван с дополнительным параметром <code>radix</code>.</span> <span> Его значение должно быть целым числом, принадлежащим промежутку от 2 до 36 и указывающим основание системы счисления, которая должна быть использована для представления численных значений.</span> <span> Например, десятичное (основание 10) число 169 представляется в шестнадцатеричном виде (основание 16) как A9.</span></p>
-<p><span class="notranslate">Почему значение этого параметра не может быть больше, чем 36? Для оснований</span><span class="notranslate">, превышающих 10, в качестве цифр используются алфавитные символы;</span> <span class="notranslate"> следовательно, основание не может быть больше 36, поскольку в латинском алфавите (используемом английским и многими другими языками) только 26 символов.</span></p>
+<p><span>Почему значение этого параметра не может быть больше, чем 36? Для оснований</span><span>, превышающих 10, в качестве цифр используются алфавитные символы;</span> <span> следовательно, основание не может быть больше 36, поскольку в латинском алфавите (используемом английским и многими другими языками) только 26 символов.</span></p>
-<p><span class="notranslate">Наиболее распространённые основания систем счисления:</span></p>
+<p><span>Наиболее распространённые основания систем счисления:</span></p>
<ul>
<li>2 для <a href="https://ru.wikipedia.org/wiki/Двоичная_система_счисления">двоичных чисел</a>,</li>
@@ -36,7 +36,7 @@ RangeError: toString() radix argument must be between 2 and 36 (Chrome)
<h2 id="Примеры">Примеры</h2>
-<h3 class="highlight-spanned" id="Некорректное_применение"><span class="highlight-span"><span class="notranslate">Некорректное применение</span></span></h3>
+<h3 class="highlight-spanned" id="Некорректное_применение"><span class="highlight-span"><span>Некорректное применение</span></span></h3>
<pre class="brush: js example-bad">(42).toString(0);
(42).toString(1);
@@ -54,7 +54,7 @@ RangeError: toString() radix argument must be between 2 and 36 (Chrome)
(100000).toString(16) // "186a0" (шестнадцатеричная)
</pre>
-<h2 id="Смотрите_также"><span class="notranslate">Смотрите также</span></h2>
+<h2 id="Смотрите_также"><span>Смотрите также</span></h2>
<ul>
<li>{{jsxref("Number.prototype.toString()")}}</li>
diff --git a/files/ru/web/javascript/reference/errors/cant_assign_to_property/index.html b/files/ru/web/javascript/reference/errors/cant_assign_to_property/index.html
index 60d17cbcfb..d1316fe4f9 100644
--- a/files/ru/web/javascript/reference/errors/cant_assign_to_property/index.html
+++ b/files/ru/web/javascript/reference/errors/cant_assign_to_property/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Errors/Cant_assign_to_property
<h2 id="Message">Message</h2>
-<pre class="syntaxbox notranslate">TypeError: <code class="highlighted" id="line-87">can't assign to property "x" on {y}: not an object</code> (Firefox)
+<pre class="syntaxbox">TypeError: <code class="highlighted" id="line-87">can't assign to property "x" on {y}: not an object</code> (Firefox)
TypeError: Cannot create property 'x' on {y} (Chrome)
</pre>
@@ -27,7 +27,7 @@ TypeError: Cannot create property 'x' on {y} (Chrome)
<h3 id="Invalid_cases">Invalid cases</h3>
-<pre class="brush: js example-bad notranslate">'use strict';
+<pre class="brush: js example-bad">'use strict';
var foo = "my string";
// The following line does nothing if not in strict mode.
@@ -38,7 +38,7 @@ foo.bar = {}; // <span class="message-body-wrapper"><span class="message-flex-bo
<p>Either fix the code to prevent the <a href="/en-US/docs/Glossary/primitive">primitive</a> from being used in such places, or fix the issue is to create the object equivalent {{jsxref("Object")}}.</p>
-<pre class="brush: js example-good notranslate">'use strict';
+<pre class="brush: js example-good">'use strict';
var foo = new String("my string");
foo.bar = {};
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 7eecd4634b..246bb98a4c 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
@@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Errors/Cyclic_object_value
<h2 id="Сообщения">Сообщения</h2>
-<pre class="syntaxbox notranslate">TypeError: циклическое значение объекта (Firefox)
+<pre class="syntaxbox">TypeError: циклическое значение объекта (Firefox)
TypeError: преобразование круговой структуры в JSON (Chrome и Opera)
TypeError: циклическая ссылка в аргументе значения не поддерживается (Edge)
</pre>
@@ -27,13 +27,13 @@ TypeError: циклическая ссылка в аргументе значе
<p>В круговой структуре как эта</p>
-<pre class="brush: js notranslate">var circularReference = {otherData: 123};
+<pre class="brush: js">var circularReference = {otherData: 123};
circularReference.myself = circularReference;
</pre>
<p>{{jsxref("JSON.stringify()")}} закончится неудачей</p>
-<pre class="brush: js example-bad notranslate">JSON.stringify(circularReference);
+<pre class="brush: js example-bad">JSON.stringify(circularReference);
// TypeError: циклическое значение объекта
</pre>
@@ -45,7 +45,7 @@ circularReference.myself = circularReference;
-<pre class="brush: js notranslate">const getCircularReplacer = () =&gt; {
+<pre class="brush: js">const getCircularReplacer = () =&gt; {
const seen = new WeakSet();
return (key, value) =&gt; {
if (typeof value === "object" &amp;&amp; value !== null) {
diff --git a/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html b/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html
index d1a9834174..cd14e4a559 100644
--- a/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html
+++ b/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html
@@ -20,13 +20,13 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_curly_after_property_lis
<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
-<p><span class="notranslate">Произошла ошибка в синтаксисе <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">инициализатора объекта</a>.</span> <span class="notranslate">Причиной может быть отсутствующая фигурная скобка или, к примеру, недостающая запятая.</span> <span class="notranslate"> Также проверьте, в правильном ли порядке расположены закрывающие круглые и фигурные скобки.</span> Добавление отступов или <span class="notranslate">форматирование кода в более благоприятный вид также могут помочь разобраться в беспорядке.</span></p>
+<p><span>Произошла ошибка в синтаксисе <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">инициализатора объекта</a>.</span> <span>Причиной может быть отсутствующая фигурная скобка или, к примеру, недостающая запятая.</span> <span> Также проверьте, в правильном ли порядке расположены закрывающие круглые и фигурные скобки.</span> Добавление отступов или <span>форматирование кода в более благоприятный вид также могут помочь разобраться в беспорядке.</span></p>
<h2 id="Примеры">Примеры</h2>
-<h3 class="highlight-spanned" id="Забытая_запятая"><span class="highlight-span"><span class="notranslate">Забытая запятая</span></span></h3>
+<h3 class="highlight-spanned" id="Забытая_запятая"><span class="highlight-span"><span>Забытая запятая</span></span></h3>
-<p><span class="notranslate">Зачастую в коде инициализатора объекта есть недостающая запятая:</span></p>
+<p><span>Зачастую в коде инициализатора объекта есть недостающая запятая:</span></p>
<pre class="brush: js example-bad">var obj = {
a: 1,
@@ -44,8 +44,8 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_curly_after_property_lis
};
</pre>
-<h2 id="Смотрите_также"><span class="notranslate">Смотрите также</span></h2>
+<h2 id="Смотрите_также"><span>Смотрите также</span></h2>
<ul>
- <li><span class="notranslate"><a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">Инициализация объектов</a></span></li>
+ <li><span><a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">Инициализация объектов</a></span></li>
</ul>
diff --git a/files/ru/web/javascript/reference/functions/rest_parameters/index.html b/files/ru/web/javascript/reference/functions/rest_parameters/index.html
index 73598d94b7..2ec6bf462a 100644
--- a/files/ru/web/javascript/reference/functions/rest_parameters/index.html
+++ b/files/ru/web/javascript/reference/functions/rest_parameters/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Functions/rest_parameters
<h2 id="Syntax">Синтаксис</h2>
-<pre class="brush: js notranslate">function(a, b, ...theArgs) {
+<pre class="brush: js">function(a, b, ...theArgs) {
// ...
}
</pre>
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Functions/rest_parameters
<p>Если последний именованный аргумент функции имеет префикс <code>...</code>, он автоматически становится массивом с элементами от <code>0</code> до <code>theArgs.length-1</code> в соответствии с актуальным количеством аргументов, переданных в функцию.</p>
-<pre class="brush: js notranslate">function myFun(a, b, ...manyMoreArgs) {
+<pre class="brush: js">function myFun(a, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
@@ -52,7 +52,7 @@ myFun("один", "два", "три", "четыре", "пять", "шесть");
<p>Остаточные параметры были введены для уменьшения количества шаблонного кода:</p>
-<pre class="brush: js notranslate">// До появления остаточных параметров "arguments" конвертировали в обычный массив используя:
+<pre class="brush: js">// До появления остаточных параметров "arguments" конвертировали в обычный массив используя:
function f(a, b) {
@@ -78,7 +78,7 @@ function f(...args) {
<p>Остаточные параметры могут быть деструктурированы (только массивы). Это означает, что их данные могут быть заданы как отдельные значения. Смотрите <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Деструктурирующее присваивание</a>.</p>
-<pre class="notranslate"><code>function f(...[a, b, c]) {
+<pre><code>function f(...[a, b, c]) {
return a + b + c;
}
@@ -90,7 +90,7 @@ f(1, 2, 3, 4) // 6 (четвёртый параметр не деструкту
<p>В этом примере первый аргумент задан как <code>"a"</code>, второй как <code>"b"</code>, так что эти аргументы используются как обычно. Однако третий аргумент <code>"manyMoreArgs"</code> будет массивом, который содержит 3-й, 4-й, 5-й, 6-й ... n-й аргументы, которые передаст пользователь.</p>
-<pre class="brush: js notranslate">function myFun(a, b, ...manyMoreArgs) {
+<pre class="brush: js">function myFun(a, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
@@ -104,7 +104,7 @@ myFun("один", "два", "три", "четыре", "пять", "шесть");
<p>Ниже... даже если передано одно значение последним аргументом, оно всё равно помещается в массив.</p>
-<pre class="brush: js notranslate">// использование той же функции, что и в примере выше
+<pre class="brush: js">// использование той же функции, что и в примере выше
myFun("один", "два", "три");
@@ -114,7 +114,7 @@ myFun("один", "два", "три");
<p>Ниже... третий аргумент не был передан, но "manyMoreArgs" всё ещё массив (хотя и пустой).</p>
-<pre class="brush: js notranslate">// использование той же функции, что и в примере выше
+<pre class="brush: js">// использование той же функции, что и в примере выше
myFun("один", "два");
@@ -124,7 +124,7 @@ myFun("один", "два");
<p>Поскольку <code>theArgs</code> является массивом, количество элементов в нём определяется свойством <code>length</code>:</p>
-<pre class="brush: js notranslate">function fun1(...theArgs) {
+<pre class="brush: js">function fun1(...theArgs) {
console.log(theArgs.length);
}
@@ -134,7 +134,7 @@ fun1(5, 6, 7); // 3</pre>
<p>В следующем примере, остаточные параметры используются для сбора всех аргументов после первого в массив. Каждый из них умножается на первый параметр и возвращается массив:</p>
-<pre class="brush: js notranslate"><code>function multiply(multiplier, ...theArgs) {
+<pre class="brush: js"><code>function multiply(multiplier, ...theArgs) {
return theArgs.map(function(element) {
return multiplier * element;
});
@@ -145,7 +145,7 @@ console.log(arr); // [2, 4, 6]</code></pre>
<p>Методы <code>Array</code> могут быть использованы на остаточных параметрах, но не на объекте <code>arguments</code>: </p>
-<pre class="brush: js notranslate">function sortRestArgs(...theArgs) {
+<pre class="brush: js">function sortRestArgs(...theArgs) {
var sortedArgs = theArgs.sort();
return sortedArgs;
}
@@ -162,7 +162,7 @@ console.log(sortArguments(5, 3, 7, 1)); // TypeError (arguments.sort is not a fu
<p>Чтобы использовать методы <code>Array</code> на объекте <code>arguments</code>, нужно преобразовать его в настоящий массив.</p>
-<pre class="brush: js notranslate"><code>function sortArguments() {
+<pre class="brush: js"><code>function sortArguments() {
var args = Array.from(arguments);
var sortedArgs = args.sort();
return sortedArgs;
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 eaa8167868..202898bb9d 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
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><var>var newArray = arr</var>.flat(<var>depth</var>);</pre>
+<pre class="syntaxbox"><var>var newArray = arr</var>.flat(<var>depth</var>);</pre>
<h3 id="Параметры">Параметры</h3>
@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat
<h3 id="Упрощение_вложенных_массивов">Упрощение вложенных массивов</h3>
-<pre class="brush: js notranslate">var arr1 = [1, 2, [3, 4]];
+<pre class="brush: js">var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
@@ -57,7 +57,7 @@ arr4.flat(Infinity);
<p>Метод flat удаляет пустые слоты из массива:</p>
-<pre class="brush: js notranslate">var arr4 = [1, 2, , 4, 5];
+<pre class="brush: js">var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]
</pre>
@@ -66,7 +66,7 @@ arr4.flat();
<h3 id="reduce_и_concat"><code>reduce</code> и <code>concat</code></h3>
-<pre class="brush: js notranslate">var arr1 = [1, 2, [3, 4]];
+<pre class="brush: js">var arr1 = [1, 2, [3, 4]];
arr1.flat();
// В одномерный массив
@@ -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">// Для развёртывания многомерных массивов используем рекурсию, reduce и concat
const arr = [1, 2, [3, 4, [5, 6]]];
function flatDeep(arr, d = 1) {
@@ -87,7 +87,7 @@ function flatDeep(arr, d = 1) {
flatDeep(arr, Infinity);
// [1, 2, 3, 4, 5, 6]</pre>
-<pre class="brush: js notranslate">//не рекурсивное упрощение с использованием стэка
+<pre class="brush: js">//не рекурсивное упрощение с использованием стэка
var arr1 = [1,2,3,[1,2,3,4, [2,3,4]]];
function flatten(input) {
const stack = [...input];
@@ -108,7 +108,7 @@ function flatten(input) {
flatten(arr1);// [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]
</pre>
-<pre class="brush: js notranslate">//рекурсивно упрощаем массив
+<pre class="brush: js">//рекурсивно упрощаем массив
function flatten(array) {
var flattend = [];
(function flat(array) {
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 a5ac485843..226fe12470 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
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate">let <var>new_array</var> = <var>arr</var>.map(function <var>callback</var>( <var>currentValue</var>[, <var>index</var>[, <var>array</var>]]) {
+<pre class="syntaxbox">let <var>new_array</var> = <var>arr</var>.map(function <var>callback</var>( <var>currentValue</var>[, <var>index</var>[, <var>array</var>]]) {
// Возвращает элемент для new_array
}[, <var>thisArg</var>])</pre>
@@ -69,7 +69,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map
<p>Следующий код берёт массив чисел и создаёт новый массив, содержащий квадратные корни чисел из первого массива.</p>
-<pre class="brush: js notranslate">var numbers = [1, 4, 9];
+<pre class="brush: js">var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// теперь roots равен [1, 2, 3], а numbers всё ещё равен [1, 4, 9]
</pre>
@@ -78,7 +78,7 @@ var roots = numbers.map(Math.sqrt);
<p>Следующий код показывает, как работает отображение, когда функция требует один аргумент. Аргумент будет автоматически присваиваться каждому элементу массива, когда <code>map</code> проходит по оригинальному массиву.</p>
-<pre class="brush: js notranslate">var numbers = [1, 4, 9];
+<pre class="brush: js">var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
return num * 2;
});
@@ -89,7 +89,7 @@ var doubles = numbers.map(function(num) {
<p>Этот пример показывает, как использовать <code>map</code> на объекте строки {{jsxref("Global_Objects/String", "String")}} для получения массива байт в кодировке ASCII, представляющего значения символов:</p>
-<pre class="brush: js notranslate">var map = Array.prototype.map;
+<pre class="brush: js">var map = Array.prototype.map;
var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
// теперь a равен [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
</pre>
@@ -98,7 +98,7 @@ var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
<p>Этот пример показывает, как пройтись по коллекции объектов, собранных с помощью <code>querySelectorAll</code>. В данном случае мы получаем все выбранные опции на экране и печатаем их в консоль:</p>
-<pre class="brush: js notranslate">var elems = document.querySelectorAll('select option:checked');
+<pre class="brush: js">var elems = document.querySelectorAll('select option:checked');
var values = [].map.call(elems, function(obj) {
return obj.value;
});
@@ -108,7 +108,7 @@ var values = [].map.call(elems, function(obj) {
<h3 id="Example_Using_map_to_reverse_a_string">Пример: использование <code>map</code> для переворачивания строки</h3>
-<pre class="brush: js notranslate">var str = '12345';
+<pre class="brush: js">var str = '12345';
[].map.call(str, function(x) {
return x;
}).reverse().join('');
@@ -125,7 +125,7 @@ var values = [].map.call(elems, function(obj) {
<p>Распространённой практикой является использование колбэк-функции с одним аргументом (элемент, над которым производится операция). Некоторые функции также широко используется с одним аргументом, хотя они принимают дополнительные необязательные аргументы. Эти привычки могут привести к неожиданному поведению программы.</p>
-<pre class="brush: js notranslate">// Рассмотрим пример:
+<pre class="brush: js">// Рассмотрим пример:
['1', '2', '3'].map(parseInt);
// Хотя ожидаемый результат вызова равен [1, 2, 3],
// в действительности получаем [1, NaN, NaN]
@@ -152,7 +152,7 @@ function returnInt(element) {
<p>Метод <code>map</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>map</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}} и {{jsxref("Global_Objects/Array", "Array")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call")}}.</p>
-<pre class="brush: js notranslate">// Шаги алгоритма ECMA-262, 5-е издание, 15.4.4.19
+<pre class="brush: js">// Шаги алгоритма ECMA-262, 5-е издание, 15.4.4.19
// Ссылка (en): http://es5.github.com/#x15.4.4.19
// Ссылка (ru): http://es5.javascript.ru/x15.4.html#x15.4.4.19
if (!Array.prototype.map) {
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 d5c9f8b897..86299563c0 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
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>arr</var>.slice([<var>begin</var>[, <var>end</var>]])</code></pre>
+<pre class="syntaxbox"><code><var>arr</var>.slice([<var>begin</var>[, <var>end</var>]])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -56,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<h3 id="Example_Return_a_portion_of_an_existing_array">Пример: возврат части существующего массива</h3>
-<pre class="brush: js notranslate">// Пример: наши хорошие друзья цитрусовые среди фруктов
+<pre class="brush: js">// Пример: наши хорошие друзья цитрусовые среди фруктов
var fruits = ['Банан', 'Апельсин', 'Лимон', 'Яблоко', 'Манго'];
var citrus = fruits.slice(1, 3);
@@ -67,7 +67,7 @@ var citrus = fruits.slice(1, 3);
<p>В следующем примере метод <code>slice()</code> создаёт новый массив, <code>newCar</code>, из массива <code>myCar</code>. Оба содержат ссылку на объект <code>myHonda</code>. Когда цвет в объекте <code>myHonda</code> изменяется на багровый, оба массива замечают это изменение.</p>
-<pre class="brush: js notranslate">// Используя slice, создаём newCar из myCar.
+<pre class="brush: js">// Используя slice, создаём newCar из myCar.
var myHonda = { color: 'красный', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
var myCar = [myHonda, 2, 'в хорошем состоянии', 'приобретена в 1997'];
var newCar = myCar.slice(0, 2);
@@ -90,7 +90,7 @@ console.log('newCar[0].color = ' + newCar[0].color);
<p>Этот скрипт выведет:</p>
-<pre class="brush: js notranslate">myCar = [{color:'красный', wheels:4, engine:{cylinders:4, size:2.2}}, 2,
+<pre class="brush: js">myCar = [{color:'красный', wheels:4, engine:{cylinders:4, size:2.2}}, 2,
'в хорошем состоянии', 'приобретена в 1997']
newCar = [{color:'красный', wheels:4, engine:{cylinders:4, size:2.2}}, 2]
myCar[0].color = красный
@@ -104,7 +104,7 @@ newCar[0].color = багровый
<p>Метод <code>slice()</code> также может использоваться для преобразования массивоподобных объектов / коллекций в новый массив <code>Array</code>. Вам просто нужно привязать метод к объекту. Псевдомассив {{jsxref("Functions_and_function_scope/arguments", "arguments")}} внутри функции как раз является примером «массивоподобного объекта».</p>
-<pre class="brush: js notranslate">function list() {
+<pre class="brush: js">function list() {
return Array.prototype.slice.call(arguments, 0);
}
@@ -113,7 +113,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
<p>Привязка может быть осуществлена посредством функции .<code>call()</code> из прототипа функции {{jsxref("Function.prototype")}}, также запись может быть сокращена до <code>[].slice.call(arguments)</code> вместо использования <code>Array.prototype.slice.call()</code>. В любом случае, она может быть упрощена посредством использования функции {{jsxref("Function.prototype.bind()", "bind()")}}.</p>
-<pre class="brush: js notranslate">var unboundSlice = Array.prototype.slice;
+<pre class="brush: js">var unboundSlice = Array.prototype.slice;
var slice = Function.prototype.call.bind(unboundSlice);
function list() {
@@ -127,7 +127,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
<p>Хотя спецификация не требует от хост-объектов (например, объектов DOM) следовать поведению Mozilla при преобразовании с помощью <code>Array.prototype.slice()</code> и IE &lt; 9 так не делает, версии IE, начиная с 9-й это умеют. «Прокладывание» позволяет добиться надёжного кросс-браузерного поведения. Пока другие современные браузеры будут поддерживать эту способность, что и делают в настоящее время IE, Mozilla, Chrome, Safari и Opera, разработчики, читая (поддерживающий DOM) код функции <code>slice()</code>, опирающийся на эту прокладку, не будут вводиться в заблуждение его семантикой; они могут смело полагаться на текущую семантику, являющуюся, видимо, <em>де-факто</em> стандартным поведением. (Прокладка также исправляет поведение IE, позволяя работать со вторым аргументом <code>slice()</code>, явно определённым как {{jsxref("Global_Objects/null", "null")}}/{{jsxref("Global_Objects/undefined", "undefined")}}, поскольку более ранние версии IE такое не позволяют, но все современные браузеры, в том числе IE &gt;= 9, поддерживают данное поведение.)</p>
-<pre class="brush: js notranslate">/**
+<pre class="brush: js">/**
* Прокладка для "исправления" отсутствия поддержки в IE &lt; 9 применения slice
* к хост-объектам вроде NamedNodeMap, NodeList и HTMLCollection
* (технически, поскольку хост-объекты зависят от реализации,
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 6408c3d51f..a1ddae9c5c 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
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>arr</var>.sort([<var>compareFunction</var>])</code></pre>
+<pre class="syntaxbox"><code><var>arr</var>.sort([<var>compareFunction</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort
<p>Если функция сравнения <code>compareFunction</code> не предоставляется, элементы сортируются путём преобразования их в строки и сравнения строк в порядке следования кодовых точек Unicode. Например, слово "Вишня" идёт перед словом "бананы". При числовой сортировке, 9 идёт перед 80, но поскольку числа преобразуются в строки, то "80" идёт перед "9" в соответствии с порядком в Unicode.</p>
-<pre class="brush: js notranslate">var fruit = ['арбузы', 'бананы', 'Вишня'];
+<pre class="brush: js">var fruit = ['арбузы', 'бананы', 'Вишня'];
fruit.sort(); // ['Вишня', 'арбузы', 'бананы']
var scores = [1, 2, 10, 21];
@@ -56,7 +56,7 @@ things.sort(); // ['1 Слово', '2 Слова', 'Слово', 'слово']
<p>Итак, функция сравнения имеет следующую форму:</p>
-<pre class="brush: js notranslate">function compare(a, b) {
+<pre class="brush: js">function compare(a, b) {
if (a меньше b по некоторому критерию сортировки) {
return -1;
}
@@ -70,14 +70,14 @@ things.sort(); // ['1 Слово', '2 Слова', 'Слово', 'слово']
<p>Для числового сравнения, вместо строкового, функция сравнения может просто вычитать <code>b</code> из <code>a</code>. Следующая функция будет сортировать массив по возрастанию:</p>
-<pre class="brush: js notranslate">function compareNumbers(a, b) {
+<pre class="brush: js">function compareNumbers(a, b) {
return a - b;
}
</pre>
<p>Метод <code>sort</code> можно удобно использовать с {{jsxref("Operators/function", "функциональными выражениями", "", 1)}} (и <a href="/ru/docs/Web/JavaScript/Guide/Closures">замыканиями</a>):</p>
-<pre class="brush: js notranslate">var numbers = [4, 2, 5, 1, 3];
+<pre class="brush: js">var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
@@ -86,7 +86,7 @@ console.log(numbers); // [1, 2, 3, 4, 5]
<p>Объекты могут быть отсортированы по значению одного из своих свойств.</p>
-<pre class="brush: js notranslate">var items = [
+<pre class="brush: js">var items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
@@ -112,7 +112,7 @@ items.sort(function (a, b) {
<p>В следующем примере создаётся четыре массива, сначала отображается первоначальный массив, а затем они сортируются. Числовые массивы сортируются сначала без, а потом с функцией сравнения.</p>
-<pre class="brush: js notranslate">var stringArray = ['Голубая', 'Горбатая', 'Белуга'];
+<pre class="brush: js">var stringArray = ['Голубая', 'Горбатая', 'Белуга'];
var numericStringArray = ['80', '9', '700'];
var numberArray = [40, 1, 5, 200];
var mixedNumericArray = ['80', '9', '700', 40, 1, 5, 200];
@@ -140,7 +140,7 @@ console.log('Сортировка с функцией compareNumbers:', mixedNum
<p>Этот пример произведёт следующий вывод. Как показывает вывод, когда используется функция сравнения, числа сортируются корректно вне зависимости от того, являются ли они собственно числами или строками с числами.</p>
-<pre class="notranslate">stringArray: Голубая,Горбатая,Белуга
+<pre>stringArray: Голубая,Горбатая,Белуга
Сортировка: Белуга,Голубая,Горбатая
numberArray: 40,1,5,200
@@ -160,7 +160,7 @@ mixedNumericArray: 80,9,700,40,1,5,200
<p>Для сортировки строк с не-ASCII символами, то есть строк с символами акцента (e, é, è, a, ä и т.д.), строк, с языками, отличными от английского: используйте {{jsxref("String.localeCompare")}}. Эта функция может сравнивать эти символы, чтобы они становились в правильном порядке.</p>
-<pre class="brush: js notranslate">var items = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu'];
+<pre class="brush: js">var items = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu'];
items.sort(function (a, b) {
return a.localeCompare(b);
});
@@ -172,7 +172,7 @@ items.sort(function (a, b) {
<p>Функция сравнения <code>(compareFunction)</code> может вызываться несколько раз для каждого элемента в массиве. В зависимости от природы функции сравнения, это может привести к высоким расходам ресурсов. Чем более сложна функция сравнения и чем больше элементов требуется отсортировать, тем разумнее использовать <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/map">map</a> для сортировки. Идея состоит в том, чтобы обойти массив один раз, чтобы извлечь фактические значения, используемые для сортировки, во временный массив, отсортировать временный массив, а затем обойти временный массив для получения правильного порядка.</p>
-<pre class="brush: js notranslate">// массив для сортировки
+<pre class="brush: js">// массив для сортировки
var list = ['Дельта', 'альфа', 'ЧАРЛИ', 'браво'];
// временный массив содержит объекты с позицией и значением сортировки
diff --git a/files/ru/web/javascript/reference/global_objects/array/splice/index.html b/files/ru/web/javascript/reference/global_objects/array/splice/index.html
index e92751abf6..e562c12bcc 100644
--- a/files/ru/web/javascript/reference/global_objects/array/splice/index.html
+++ b/files/ru/web/javascript/reference/global_objects/array/splice/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>array</var>.splice(<var>start[</var>, <var>deleteCount</var>[, <var>item1</var>[, <var>item2</var>[, ...]]]])
+<pre class="syntaxbox"><code><var>array</var>.splice(<var>start[</var>, <var>deleteCount</var>[, <var>item1</var>[, <var>item2</var>[, ...]]]])
</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice
<h3 id="Удаляет_0_элементов_по_индексу_2_и_вставляет_drum">Удаляет 0 элементов по индексу 2 и вставляет "drum"</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');
// myFish равен ["angel", "clown", "drum", "mandarin", "sturgeon"]
@@ -52,7 +52,7 @@ var removed = myFish.splice(2, 0, 'drum');
<h3 id="Удаляет_1_элемент_по_индексу_3">Удаляет 1 элемент по индексу 3</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);
// removed равен ["mandarin"]
@@ -60,7 +60,7 @@ var removed = myFish.splice(3, 1);
<h3 id="Удаляет_1_элемент_по_индексу_2_и_вставляет_trumpet">Удаляет 1 элемент по индексу 2 и вставляет "trumpet"</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');
// myFish равен ["angel", "clown", "trumpet", "sturgeon"]
@@ -68,7 +68,7 @@ var removed = myFish.splice(2, 1, 'trumpet');
<h3 id="Удаляет_2_элемента_начиная_с_индекса_0_и_вставляет_parrot_anemone_и_blue">Удаляет 2 элемента начиная с индекса 0 и вставляет "parrot", "anemone" и "blue"</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
// myFish равен ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
@@ -76,7 +76,7 @@ var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
<h3 id="Удаляет_2_элемента_начиная_с_индекса_2">Удаляет 2 элемента начиная с индекса 2</h3>
-<pre class="brush: js notranslate">var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
+<pre class="brush: js">var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);
// myFish равен ["parrot", "anemone", "sturgeon"]
@@ -84,7 +84,7 @@ var removed = myFish.splice(myFish.length - 3, 2);
<h3 id="Удаляет_1_элемент_по_индексу_-2">Удаляет 1 элемент по индексу -2</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);
// myFish равен ["angel", "clown", "sturgeon"]
@@ -92,7 +92,7 @@ var removed = myFish.splice(-2, 1);
<h3 id="Удаляет_все_элементы_после_индекса_2_включительно">Удаляет все элементы после индекса 2 (включительно)</h3>
-<pre class="brush: js notranslate">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+<pre class="brush: js">var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);
// myFish равен ["angel", "clown"]
diff --git a/files/ru/web/javascript/reference/global_objects/bigint/asuintn/index.html b/files/ru/web/javascript/reference/global_objects/bigint/asuintn/index.html
index 6f3c09ba56..98395a3c5c 100644
--- a/files/ru/web/javascript/reference/global_objects/bigint/asuintn/index.html
+++ b/files/ru/web/javascript/reference/global_objects/bigint/asuintn/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/asUintN
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate">BigInt.asUintN(<var>width</var>, <var>bigint</var>);</pre>
+<pre class="syntaxbox">BigInt.asUintN(<var>width</var>, <var>bigint</var>);</pre>
<h3 id="Parameters">Parameters</h3>
@@ -34,7 +34,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/asUintN
<p>The <code>BigInt.asUintN()</code> method can be useful to stay in the range of 64-bit arithmetic.</p>
-<pre class="brush: js notranslate">const max = 2n ** 64n - 1n;
+<pre class="brush: js">const max = 2n ** 64n - 1n;
BigInt.asUintN(64, max);
// ↪ 18446744073709551615n
diff --git a/files/ru/web/javascript/reference/global_objects/date/getdate/index.html b/files/ru/web/javascript/reference/global_objects/date/getdate/index.html
index 52e0d9eefa..9c6667995c 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getdate/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getdate/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDate
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getDate()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getDate()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDate
<p>Вторая инструкция в примере ниже присваивает значение 25 переменной <code>day</code> из значения объекта {{jsxref("Global_Objects/Date", "Date")}} <code>date</code>.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let day = date.getDate();
console.log(day); // 25
diff --git a/files/ru/web/javascript/reference/global_objects/date/getday/index.html b/files/ru/web/javascript/reference/global_objects/date/getday/index.html
index 654e43455f..c2c2bd4e8a 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getday/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getday/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getDay()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getDay()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay
<p>Вторая инструкция в примере ниже присваивает значение 1 переменной <code>weekday</code> из значения объекта {{jsxref("Global_Objects/Date", "Date")}} <code>date</code>. 25 декабря 1995 года было понедельником.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let weekday = date.getDay();
console.log(weekday); // 1
@@ -42,7 +42,7 @@ console.log(weekday); // 1
<div class="blockIndicator note">
<p><strong>Примечание:</strong> При необходимости полное название дня (например, "<code>Понедельник</code>") можно получить, используя {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}} с параметром <code>options</code> parameter. С помощью этого метода упрощается интернационализация:</p>
-<pre class="brush: js notranslate">let options = { weekday: 'long'};
+<pre class="brush: js">let options = { weekday: 'long'};
console.log(new Intl.DateTimeFormat('en-US', options).format(date));
// Monday
diff --git a/files/ru/web/javascript/reference/global_objects/date/getfullyear/index.html b/files/ru/web/javascript/reference/global_objects/date/getfullyear/index.html
index 5a7d09c7bf..60aeb1a1ac 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getfullyear/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getfullyear/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getFullYear
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getFullYear()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getFullYear()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -35,7 +35,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getFullYear
<p>В следующем примере переменной <code>year</code> присваивается четырёхзначное значение текущего года.</p>
-<pre class="brush: js notranslate">let today = new Date(); // Mon Nov 23 2020 15:23:46 GMT+0300 (Москва, стандартное время)
+<pre class="brush: js">let today = new Date(); // Mon Nov 23 2020 15:23:46 GMT+0300 (Москва, стандартное время)
let year = today.getFullYear(); // 2020
</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/date/gethours/index.html b/files/ru/web/javascript/reference/global_objects/date/gethours/index.html
index 4e927a3454..2f0c788d1a 100644
--- a/files/ru/web/javascript/reference/global_objects/date/gethours/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/gethours/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getHours
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getHours()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getHours()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getHours
<p>Вторая инструкция в примере ниже присваивает значение 23 переменной <code>hours</code> из значения объекта {{jsxref("Global_Objects/Date", "Date")}} <code>date</code>.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let hours = date.getHours();
console.log(hours); // 23
diff --git a/files/ru/web/javascript/reference/global_objects/date/getmilliseconds/index.html b/files/ru/web/javascript/reference/global_objects/date/getmilliseconds/index.html
index 4d848fc5e8..3d9d51b204 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getmilliseconds/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getmilliseconds/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getMilliseconds()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getMilliseconds()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds
<p>В следующем примере переменной <code>milliseconds</code> присваиваются миллисекунды текущего времени:</p>
-<pre class="brush: js notranslate">let today = new Date();
+<pre class="brush: js">let today = new Date();
let milliseconds = today.getMilliseconds();
console.log(milliseconds); // 709
diff --git a/files/ru/web/javascript/reference/global_objects/date/getminutes/index.html b/files/ru/web/javascript/reference/global_objects/date/getminutes/index.html
index 533cba2dc5..0b97f5e1f7 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getminutes/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getminutes/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMinutes
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getMinutes()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getMinutes()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMinutes
<p>Вторая инструкция в примере ниже присваивает значение 15 переменной <code>minutes</code> из значения объекта {{jsxref("Global_Objects/Date", "Date")}} <code>date</code>.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let minutes = date.getMinutes();
console.log(minutes); // 15
diff --git a/files/ru/web/javascript/reference/global_objects/date/getmonth/index.html b/files/ru/web/javascript/reference/global_objects/date/getmonth/index.html
index 5b42ea933a..001f258a2c 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getmonth/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getmonth/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMonth
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getMonth()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getMonth()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMonth
<p>Вторая инструкция в примере ниже присваивает значение 11 переменной <code>month</code> из значения переменной <code>date</code> объекта {{jsxref("Global_Objects/Date", "Date")}}.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let month = date.getMonth();
console.log(month); // 11
diff --git a/files/ru/web/javascript/reference/global_objects/date/getseconds/index.html b/files/ru/web/javascript/reference/global_objects/date/getseconds/index.html
index 6027da393b..e2e5fecaac 100644
--- a/files/ru/web/javascript/reference/global_objects/date/getseconds/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/getseconds/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getSeconds
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getSeconds()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getSeconds()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getSeconds
<p>Вторая инструкция в примере ниже присваивает значение 30 переменной <code>seconds</code> из значения переменной <code>date</code> объекта {{jsxref("Global_Objects/Date", "Date")}}.</p>
-<pre class="brush: js notranslate">let date = new Date('December 25, 1995 23:15:30');
+<pre class="brush: js">let date = new Date('December 25, 1995 23:15:30');
let seconds = date.getSeconds();
console.log(seconds); // 30
diff --git a/files/ru/web/javascript/reference/global_objects/date/gettime/index.html b/files/ru/web/javascript/reference/global_objects/date/gettime/index.html
index 8f380c6208..f4b2c740b6 100644
--- a/files/ru/web/javascript/reference/global_objects/date/gettime/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/gettime/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>dateObj</var>.getTime()</code></pre>
+<pre class="syntaxbox"><code><var>dateObj</var>.getTime()</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime
<p>Конструирует новый объект даты с идентичным значением времени.</p>
-<pre class="brush: js notranslate">let birthday = new Date(2020, 12, 20);
+<pre class="brush: js">let birthday = new Date(2020, 12, 20);
let copy = new Date();
copy.setTime(birthday.getTime());
@@ -50,7 +50,7 @@ console.log(copy.setTime(birthday.getTime())); // 1611090000000
<p>Вычитанием двух последовательных вызовов метода <code>getTime()</code> на заново сконструированных объектах {{jsxref("Global_Objects/Date", "Date")}} можно замерить промежуток времени, произошедший между двумя этими вызовами. Это можно использовать для вычисления времени выполнения неких операций.</p>
-<pre class="brush: js notranslate">let end, start;
+<pre class="brush: js">let end, start;
start = new Date();
for (let i = 0; i &lt; 1000; i++) {
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 bf3ce884dd..0f8ddf6b79 100644
--- a/files/ru/web/javascript/reference/global_objects/date/index.html
+++ b/files/ru/web/javascript/reference/global_objects/date/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>new Date();
+<pre class="syntaxbox"><code>new Date();
new Date(<var>value</var>);
new Date(<var>dateString</var>);
new Date(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <var>minute</var>[, <var>second</var>[, <var>millisecond</var>]]]]]);
@@ -118,7 +118,7 @@ new Date(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[,
<p><strong>Обратите внимание:</strong> разбор строкового представления дат с помощью конструктора <code>Date</code> (так же как эквивалентный ему метод <code>Date.parse</code>) может иметь различия и несоответствия в браузерах.</p>
</div>
-<pre class="brush: js notranslate">var today = new Date();
+<pre class="brush: js">var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
@@ -129,7 +129,7 @@ var birthday = new Date(1995, 11, 17, 3, 24, 0);
<p>Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использовать методы {{jsxref("Date.prototype.setFullYear()")}} и {{jsxref("Date.prototype.getFullYear()")}}.</p>
-<pre class="brush: js notranslate">var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+<pre class="brush: js">var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
// Устаревший метод, 98 отображается на 1998 год
date.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
@@ -141,7 +141,7 @@ date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
<p>Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript:</p>
-<pre class="brush: js notranslate">// Используя объекты Date
+<pre class="brush: js">// Используя объекты Date
var start = Date.now();
// Событие, для которого замеряется время, происходит тут:
@@ -150,7 +150,7 @@ var end = Date.now();
var elapsed = end - start; // затраченное время в миллисекундах
</pre>
-<pre class="brush: js notranslate">// Используя встроенные методы
+<pre class="brush: js">// Используя встроенные методы
var start = new Date();
// Событие, для которого замеряется время, происходит тут:
@@ -159,7 +159,7 @@ var end = new Date();
var elapsed = end.getTime() - start.getTime(); // затраченное время в миллисекундах
</pre>
-<pre class="brush: js notranslate">// Проверяет функцию и возвращает её возвращаемое значение
+<pre class="brush: js">// Проверяет функцию и возвращает её возвращаемое значение
function printElapsedTime(fTest) {
var nStartTime = Date.now(),
vReturn = fTest(),
@@ -179,7 +179,7 @@ yourFunctionReturn = printElapsedTime(yourFunction);
<h3 id="Получить_количество_секунд_с_начала_эпохи_Unix">Получить количество секунд с начала эпохи Unix</h3>
-<pre class="notranslate"><code>var seconds = Math.floor(Date.now() / 1000);</code></pre>
+<pre><code>var seconds = Math.floor(Date.now() / 1000);</code></pre>
<p>В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует {{jsxref ("Math.floor ()")}} а не {{jsxref ("Math.round ()")}}).</p>
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 f3bad3a0e3..b5cfcb75ca 100644
--- a/files/ru/web/javascript/reference/global_objects/eval/index.html
+++ b/files/ru/web/javascript/reference/global_objects/eval/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/eval
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>eval(<em>string</em>)</code></pre>
+<pre class="syntaxbox"><code>eval(<em>string</em>)</code></pre>
<h3 id="Параметры">Параметры</h3>
@@ -46,19 +46,19 @@ translation_of: Web/JavaScript/Reference/Global_Objects/eval
<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"
+<pre class="brush:js">eval(new String("2 + 2")); // возвращает объект типа String, содержащий "2 + 2"
eval("2 + 2"); // возвращает 4
</pre>
<p>Это ограничение легко обойти при помощи <code>toString()</code>.</p>
-<pre class="brush:js notranslate">var expression = new String("2 + 2");
+<pre class="brush:js">var expression = new String("2 + 2");
eval(expression.toString());
</pre>
<p>Если вы используете <code>eval</code> косвенно, вызовом его через ссылку, а не просто <code>eval</code>, в<a href="http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.2"> ECMAScript 5</a> это работает в глобальной области видимости, а не в локальной; это значит, что <code>eval</code> будет вызван в глобальной области видимости, а код будет выполнен с отсутствием доступа к локальным переменным в пределах области видимости, где он был вызван.</p>
-<pre class="brush:js notranslate">function test() {
+<pre class="brush:js">function test() {
var x = 2, y = 4;
console.log(eval("x + y"));  // Прямой вызов, использует локальную области видимости, результат - 6
var geval = eval;
@@ -78,7 +78,7 @@ eval(expression.toString());
<p>Вам не следует использовать <code>eval()</code>, чтобы конвертировать имена свойств в свойства. Рассматривая следующий пример, где свойство объекта используемое для доступа неизвестно до выполнения кода. Это можно сделать с  eval:</p>
-<pre class="brush:js notranslate">var obj = { a: 20, b: 30 };
+<pre class="brush:js">var obj = { a: 20, b: 30 };
var propname = getPropName(); // возвращает "a" или "b"
eval( "var result = obj." + propname );
@@ -86,7 +86,7 @@ eval( "var result = obj." + propname );
<p>Однако, <code>eval()</code> здесь не нужен. По факту, использование здесь его удивляет. Вместо него используйте <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors" title="JavaScript/Reference/Operators/Member_Operators">доступ к свойствам</a>, который быстрее и безопаснее:</p>
-<pre class="brush:js notranslate">var obj = { a: 20, b: 30 };
+<pre class="brush:js">var obj = { a: 20, b: 30 };
var propname = getPropName(); // возвращает "a" или "b"
var result = obj[ propname ]; // obj[ "a" ] то же, что и obj.a
</pre>
@@ -95,7 +95,7 @@ var result = obj[ propname ]; // obj[ "a" ] то же, что и obj.a
<p>У JavaScript <a class="external" href="http://en.wikipedia.org/wiki/First-class_function">функции первого класса</a>, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектов и так далее. Многие DOM API созданы с учётом этого, так что вы можете (и вам следует) писать:</p>
-<pre class="brush: js notranslate">// вместо setTimeout(" ... ", 1000) :
+<pre class="brush: js">// вместо setTimeout(" ... ", 1000) :
setTimeout(function() { ... }, 1000);
// вместо elt.setAttribute("onclick", "...") использовать:
@@ -123,7 +123,7 @@ elt.addEventListener("click", function() { ... } , false); </pre>
<p>В следующем коде оба выражения содержат <code>eval()</code>, возвращающий 42. Первое определяется строкой "<code>x + y + 1</code>"; второе - строкой "<code>42</code>".</p>
-<pre class="brush:js notranslate">var x = 2;
+<pre class="brush:js">var x = 2;
var y = 39;
var z = "42";
eval("x + y + 1"); // возвращает 42
@@ -134,7 +134,7 @@ eval(z); // вернёт 42
<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;
+<pre class="brush:js">var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
console.log("z is ", eval(str));</pre>
@@ -143,7 +143,7 @@ console.log("z is ", eval(str));</pre>
<p><code>eval()</code> вернёт значение последнего выполняемого выражения</p>
-<pre class="brush:js notranslate">var str = "if ( a ) { 1+1; } else { 1+2; }";
+<pre class="brush:js">var str = "if ( a ) { 1+1; } else { 1+2; }";
var a = true;
var b = eval(str); // вернёт 2
@@ -156,7 +156,7 @@ console.log("b is : " + b);</pre>
<h3 id="eval_как_строковое_определение_функции_включающее_и_как_префикс_и_суффикс"><code>eval</code> как строковое определение функции, включающее "(" и ")" как префикс и суффикс</h3>
-<pre class="brush:js notranslate">var fctStr1 = "function a() {}"
+<pre class="brush:js">var fctStr1 = "function a() {}"
var fctStr2 = "(function a() {})"
var fct1 = eval(fctStr1) // вернёт undefined
var fct2 = eval(fctStr2) // вернёт функцию
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 2eec389c7e..8d5768c60c 100644
--- a/files/ru/web/javascript/reference/global_objects/generator/index.html
+++ b/files/ru/web/javascript/reference/global_objects/generator/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Generator
<p>Этот объект не может быть инстанциирован напрямую. Вместо этого, экземпляр <code>Generator</code> может быть возвращён из <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction">функции-генератора</a>:</p>
-<pre class="notranslate line-numbers language-html">function* generator() {
+<pre class="line-numbers language-html">function* generator() {
yield 1;
yield 2;
yield 3;
@@ -47,7 +47,7 @@ console.log(generator().next().value); // 1</pre>
<h3 id="Бесконечный_Итератор">Бесконечный Итератор</h3>
-<pre class="brush: js notranslate">function* idMaker() {
+<pre class="brush: js">function* idMaker() {
var index = 0;
while(true)
yield index++;
diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html
index f7836af5e0..c210237b7a 100644
--- a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html
+++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>new Intl.DateTimeFormat([<var>locales</var>[, <var>options</var>]])
+<pre class="syntaxbox"><code>new Intl.DateTimeFormat([<var>locales</var>[, <var>options</var>]])
Intl.DateTimeFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</var>]])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -122,7 +122,7 @@ Intl.DateTimeFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</va
<p>При базовом использовании без определения локали <code>DateTimeFormat</code> использует локаль и опции по умолчанию.</p>
-<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// Вывод format без аргументов зависит от реализации,
// локали по умолчанию и часового пояса по умолчанию
@@ -134,7 +134,7 @@ console.log(new Intl.DateTimeFormat().format(date));
<p>Этот пример показывает некоторые локализованные форматы даты и времени. Для получения формата языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент <code>locales</code>:</p>
-<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// Форматирование ниже предполагает, что местный часовой пояс равен
// America/Los_Angeles для локали США
@@ -170,7 +170,7 @@ console.log(new Intl.DateTimeFormat(['ban', 'id']).format(date));
<p>Формат даты и времени может быть настроен с помощью аргумента <code>options</code>:</p>
-<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// Запрашиваем день недели вместе с длинным форматом даты
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
diff --git a/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html b/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html
index b9be2bbc60..a6c3eaff7a 100644
--- a/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html
+++ b/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html
@@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>Number.isSafeInteger(<var>testValue</var>)</code></pre>
+<pre class="syntaxbox"><code>Number.isSafeInteger(<var>testValue</var>)</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
<h2 id="Examples">Примеры</h2>
-<pre class="brush: js notranslate">Number.isSafeInteger(3); // true
+<pre class="brush: js">Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(NaN); // false
@@ -58,7 +58,7 @@ Number.isSafeInteger(3.0); // true
<h2 id="Specifications">Полифил</h2>
-<pre class="brush: js notranslate">Number.isSafeInteger = Number.isSafeInteger || function (value) {
+<pre class="brush: js">Number.isSafeInteger = Number.isSafeInteger || function (value) {
return Number.isInteger(value) &amp;&amp; Math.abs(value) &lt;= Number.MAX_SAFE_INTEGER;
};</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/number/toexponential/index.html b/files/ru/web/javascript/reference/global_objects/number/toexponential/index.html
index 918f0ba864..1e7fbca3dc 100644
--- a/files/ru/web/javascript/reference/global_objects/number/toexponential/index.html
+++ b/files/ru/web/javascript/reference/global_objects/number/toexponential/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toExponential
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>numObj</var>.toExponential([<var>fractionDigits</var>])</code></pre>
+<pre class="syntaxbox"><code><var>numObj</var>.toExponential([<var>fractionDigits</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toExponential
<h3 id="Example_Using_toExponential">Пример: использование <code>toExponential</code></h3>
-<pre class="brush: js notranslate">var numObj = 77.1234;
+<pre class="brush: js">var numObj = 77.1234;
console.log(numObj.toExponential()); // выведет 7.71234e+1
diff --git a/files/ru/web/javascript/reference/global_objects/number/tofixed/index.html b/files/ru/web/javascript/reference/global_objects/number/tofixed/index.html
index 2d68871d4c..cc4718ae06 100644
--- a/files/ru/web/javascript/reference/global_objects/number/tofixed/index.html
+++ b/files/ru/web/javascript/reference/global_objects/number/tofixed/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toFixed
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>numObj</var>.toFixed([<var>digits</var>])</code></pre>
+<pre class="syntaxbox"><code><var>numObj</var>.toFixed([<var>digits</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toFixed
<h3 id="Example_Using_toFixed">Пример: использование <code>toFixed</code></h3>
-<pre class="brush: js notranslate">var numObj = 12345.6789;
+<pre class="brush: js">var numObj = 12345.6789;
numObj.toFixed(); // Вернёт '12346': обратите внимание на округление, дробной части нет
numObj.toFixed(1); // Вернёт '12345.7': обратите внимание на округление
diff --git a/files/ru/web/javascript/reference/global_objects/number/toprecision/index.html b/files/ru/web/javascript/reference/global_objects/number/toprecision/index.html
index da8d601c7d..fd39f6dd5a 100644
--- a/files/ru/web/javascript/reference/global_objects/number/toprecision/index.html
+++ b/files/ru/web/javascript/reference/global_objects/number/toprecision/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toPrecision
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>numObj</var>.toPrecision([<var>precision</var>])</code></pre>
+<pre class="syntaxbox"><code><var>numObj</var>.toPrecision([<var>precision</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toPrecision
<h3 id="Example_Using_toPrecision">Пример: использование <code>toPrecision</code></h3>
-<pre class="brush: js notranslate">var numObj = 5.123456;
+<pre class="brush: js">var numObj = 5.123456;
console.log(numObj.toPrecision()); // выведет '5.123456'
console.log(numObj.toPrecision(5)); // выведет '5.1235'
diff --git a/files/ru/web/javascript/reference/global_objects/number/tostring/index.html b/files/ru/web/javascript/reference/global_objects/number/tostring/index.html
index 86cd5b3b60..3f8103311d 100644
--- a/files/ru/web/javascript/reference/global_objects/number/tostring/index.html
+++ b/files/ru/web/javascript/reference/global_objects/number/tostring/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toString
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>numObj</var>.toString([<var>radix</var>])</code></pre>
+<pre class="syntaxbox"><code><var>numObj</var>.toString([<var>radix</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toString
<h3 id="Example_Using_toString">Пример: использование <code>toString</code></h3>
-<pre class="brush: js notranslate">var count = 10;
+<pre class="brush: js">var count = 10;
console.log(count.toString()); // Выведет '10'
console.log((17).toString()); // Выведет '17'
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 f7b4d2c69b..09ac00405a 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
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>Object.create(<var>proto</var>[, <var>propertiesObject</var>])</code></pre>
+<pre class="syntaxbox"><code>Object.create(<var>proto</var>[, <var>propertiesObject</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create
<p>Ниже показан пример использования <code>Object.create()</code> для имитации классического наследования. Это пример одиночного наследования, поскольку только его поддерживает JavaScript.</p>
-<pre class="brush: js notranslate">// Shape — суперкласс
+<pre class="brush: js">// Shape — суперкласс
function Shape() {
this.x = 0;
this.y = 0;
@@ -73,7 +73,7 @@ rect.move(1, 1); // выведет 'Фигура переместилась.'
<p>Если вы хотите наследоваться от нескольких объектов, то это возможно сделать при помощи примесей.</p>
-<pre class="brush: js notranslate">function MyClass() {
+<pre class="brush: js">function MyClass() {
SuperClass.call(this);
OtherSuperClass.call(this);
}
@@ -90,7 +90,7 @@ MyClass.prototype.myMethod = function() {
<h3 id="Example.3A_Using_propertiesObject_argument_with_Object.create">Пример: использование аргумента <code>propertiesObject</code> с <code>Object.create()</code></h3>
-<pre class="brush: js notranslate">var o;
+<pre class="brush: js">var o;
// создаём объект с нулевым прототипом
o = Object.create(null);
@@ -159,7 +159,7 @@ o2 = Object.create({}, {
<p>Для этого полифила необходима правильно работающая Object.prototype.hasOwnProperty.</p>
-<pre class="brush: js notranslate">if (typeof Object.create != 'function') {
+<pre class="brush: js">if (typeof Object.create != 'function') {
// Этапы производства ECMA-262, издание 5, 15.2.3.5
// Ссылка: http://es5.github.io/#x15.2.3.5
Object.create = (function() {
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 fd74a6a286..5cba32dbc5 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
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>Object.entries(<var>obj</var>)</code></pre>
+<pre class="syntaxbox"><code>Object.entries(<var>obj</var>)</code></pre>
<h3 id="Параметры">Параметры</h3>
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries
<h2 id="Примеры">Примеры</h2>
-<pre class="brush: js notranslate">var obj = { foo: "bar", baz: 42 };
+<pre class="brush: js">var obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
// массив как объект
@@ -49,7 +49,7 @@ console.log(Object.entries(my_obj)); // [ ['foo', 'bar'] ]
// non-object argument will be coerced to an object
console.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]</pre>
-<pre class="notranslate"><code>// returns an empty array for any primitive type, since primitives have no own properties
+<pre><code>// returns an empty array for any primitive type, since primitives have no own properties
console.log(Object.entries(100)); // [ ]
// iterate through key-value gracefully
@@ -67,7 +67,7 @@ Object.entries(obj).forEach(([key, value]) =&gt; {
<p>Конструктор {{jsxref("Map", "new Map()")}} принимает повторение <em>значений</em>. С <code>Object.entries </code>вы легко можете преобразовать {{jsxref("Object")}} в {{jsxref("Map")}}:</p>
-<pre class="brush: js notranslate">var obj = { foo: "bar", baz: 42 };
+<pre class="brush: js">var obj = { foo: "bar", baz: 42 };
var map = new Map(Object.entries(obj));
console.log(map); // Map { foo: "bar", baz: 42 }</pre>
@@ -75,7 +75,7 @@ console.log(map); // Map { foo: "bar", baz: 42 }</pre>
<p>Используя <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%BE%D0%B2">метод Разбора Массивов</a> Вы можете легко итерировать объекты.</p>
-<pre class="notranslate"><code>const obj = { foo: 'bar', baz: 42 };
+<pre><code>const obj = { foo: 'bar', baz: 42 };
Object.entries(obj).forEach(([key, value]) =&gt; console.log(`${key}: ${value}`)); // "foo: bar", "baz: 42"</code></pre>
<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 5bdc241aa9..797adc9171 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
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/then
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><var>p.then(onFulfilled[, onRejected])</var>;
+<pre class="syntaxbox"><var>p.then(onFulfilled[, onRejected])</var>;
p.then(value =&gt; {
// выполнение
@@ -43,7 +43,7 @@ p.then(value =&gt; {
<h3 id="Использование_метода_then">Использование метода <code>then</code></h3>
-<pre class="brush: js notranslate">var p1 = new Promise(function(resolve, reject) {
+<pre class="brush: js">var p1 = new Promise(function(resolve, reject) {
resolve("Успех!");
// или
// reject("Ошибка!");
@@ -60,7 +60,7 @@ p1.then(function(value) {
<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) {
+<pre class="brush: js">var p2 = new Promise(function(resolve, reject) {
resolve(1);
});
@@ -78,7 +78,7 @@ p2.then(function(value) {
<p>Вы также можете соединить одну функцию, имеющую подобный с промисами API, с другой функцией.</p>
-<pre class="brush: js notranslate">function fetch_current_data() {
+<pre class="brush: js">function fetch_current_data() {
// API функции fetch() возвращает промис. Эта функция
// имеет аналогичный API, за исключением значения в случае выполнения
  return fetch("current-data.json").then((response) =&gt; {
@@ -95,7 +95,7 @@ p2.then(function(value) {
<p>Если onFulfilled возвращает промис, возвращаемое значение может быть выполнено (resolved) / отклонено (rejected) промисом.</p>
-<pre class="brush: js notranslate">function resolveLater(resolve, reject) {
+<pre class="brush: js">function resolveLater(resolve, reject) {
setTimeout(function () {
resolve(10);
}, 1000);
diff --git a/files/ru/web/javascript/reference/global_objects/proxy/index.html b/files/ru/web/javascript/reference/global_objects/proxy/index.html
index 12f1cfc36f..3611061bef 100644
--- a/files/ru/web/javascript/reference/global_objects/proxy/index.html
+++ b/files/ru/web/javascript/reference/global_objects/proxy/index.html
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy
<p>Прокси - это новые объекты; невозможно выполнить "проксирование" существующего объекта. Пример создания прокси:</p>
-<pre class="brush: js notranslate">var p = new Proxy(target, handler);
+<pre class="brush: js">var p = new Proxy(target, handler);
</pre>
<p>Где:</p>
@@ -150,7 +150,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy
<p>Объект, возвращающий значение <code>37</code>, в случае отсутствия свойства с указанным именем:</p>
-<pre class="brush: js notranslate">var handler = {
+<pre class="brush: js">var handler = {
get: function(target, name){
return name in target?
target[name] :
@@ -170,7 +170,7 @@ console.log('c' in p, p.c); // false, 37
<p>В данном примере мы используем JavaScript объект, к которому наш прокси направляет все запросы:</p>
-<pre class="brush: js notranslate">var target = {};
+<pre class="brush: js">var target = {};
var p = new Proxy(target, {});
p.a = 37; // операция перенаправлена прокси
@@ -182,7 +182,7 @@ console.log(target.a); // 37. Операция была успешно пере
<p>При помощи <code>Proxy</code> вы можете легко проверять передаваемые объекту значения:</p>
-<pre class="brush: js notranslate">let validator = {
+<pre class="brush: js">let validator = {
set: function(obj, prop, value) {
if (prop === 'age') {
if (!Number.isInteger(value)) {
@@ -213,7 +213,7 @@ person.age = 300; // Вызовет исключение
<p>Функция прокси может легко дополнить конструктор новым:</p>
-<pre class="brush: js notranslate">function extend(sup, base) {
+<pre class="brush: js">function extend(sup, base) {
    var descriptor = Object.getOwnPropertyDescriptor(
        base.prototype, 'constructor',
    );
@@ -260,7 +260,7 @@ console.log(Peter.age); // 13
<p>Иногда возникает необходимость переключить атрибут или имя класса у двух разных элементов:</p>
-<pre class="brush: js notranslate">let view = new Proxy({
+<pre class="brush: js">let view = new Proxy({
selected: null
},
{
@@ -293,7 +293,7 @@ console.log(i2.getAttribute('aria-selected')); // 'true'
<p>Прокси объект <code>products</code> проверяет передаваемые значения и преобразует их в массив в случае необходимости. Объект также поддерживает дополнительное свойство <code>latestBrowser</code> на чтение и запись.</p>
-<pre class="brush: js notranslate">let products = new Proxy({
+<pre class="brush: js">let products = new Proxy({
browsers: ['Internet Explorer', 'Netscape']
},
{
@@ -336,7 +336,7 @@ console.log(products.latestBrowser); // 'Chrome'
<p>Данный прокси расширяет массив дополнительными возможностями. Как вы видите, вы можете гибко "задавать" свойства без использования <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperties"><code>Object.defineProperties</code></a>. Данный пример также может быть использован для поиска строки таблицы по её ячейке. В этом случае целью будет <a href="/en-US/docs/DOM/table.rows"><code>table.rows</code></a>.</p>
-<pre class="brush: js notranslate">let products = new Proxy([
+<pre class="brush: js">let products = new Proxy([
{ name: 'Firefox', type: 'browser' },
{ name: 'SeaMonkey', type: 'browser' },
{ name: 'Thunderbird', type: 'mailer' }
@@ -397,7 +397,7 @@ console.log(products.number); // 3
<p>В данном примере, использующем все виды перехватчиков, мы попытаемся проксировать <em>не нативный</em> объект, который частично приспособлен для этого - <code>docCookies,</code> созданном в разделе <a href="https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support" title="https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support">"little framework" и опубликованном на странице <code>document.cookie</code></a>.</p>
-<pre class="brush: js notranslate">/*
+<pre class="brush: js">/*
var docCookies = ... получить объект "docCookies" можно здесь:
  https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support
*/
diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
index 50c940dd66..b9981c3d0f 100644
--- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
+++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">const <var>p</var> = new Proxy(<var>target</var>, {
+<pre class="syntaxbox">const <var>p</var> = new Proxy(<var>target</var>, {
apply: function(<var>target</var>, <var>thisArg</var>, <var>argumentsList</var>) {
}
});
@@ -66,7 +66,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply
<p>Следующий код ловит вызов функции.</p>
-<pre class="brush: js notranslate">const p = new Proxy(function() {}, {
+<pre class="brush: js">const p = new Proxy(function() {}, {
apply: function(target, thisArg, argumentsList) {
console.log('called: ' + argumentsList.join(', '));
return argumentsList[0] + argumentsList[1] + argumentsList[2];
diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html
index 07c349853f..9c8dc59f4e 100644
--- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html
+++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate">const <var>p</var> = new Proxy(<var>target</var>, {
+<pre class="syntaxbox">const <var>p</var> = new Proxy(<var>target</var>, {
get: function(<var>target</var>, <var>property</var>, <var>receiver</var>) {
}
});
@@ -65,7 +65,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get
<p>Следующий код перехватывает получение значения свойства.</p>
-<pre class="brush: js notranslate">const p = new Proxy({}, {
+<pre class="brush: js">const p = new Proxy({}, {
get: function(target, property, receiver) {
console.log('called: ' + property);
return 10;
@@ -78,7 +78,7 @@ console.log(p.a); // "called: a"
<p>Следующий код нарушает инвариант.</p>
-<pre class="brush: js notranslate">const obj = {};
+<pre class="brush: js">const obj = {};
Object.defineProperty(obj, 'a', {
configurable: false,
enumerable: false,
diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/index.html
index 1bf6b70b43..0e3ba67f53 100644
--- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/index.html
+++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate">new Proxy(<var>target</var>, <var>handler</var>)</pre>
+<pre class="syntaxbox">new Proxy(<var>target</var>, <var>handler</var>)</pre>
<h3 id="Parameters">Parameters</h3>
@@ -77,7 +77,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
<p>In this example the target has two properties, <code>notProxied</code> and <code>proxied</code>. We define a handler that returns a different value for <code>proxied</code>, and lets any other accesses through to the target.</p>
-<pre class="brush: js notranslate">const target = {
+<pre class="brush: js">const target = {
notProxied: "original value",
proxied: "original value"
};
diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html
index 7c1eade6a7..2f1d58fa1b 100644
--- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html
+++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html
@@ -18,7 +18,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/set
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="brush: js notranslate">var p = new Proxy(target, {
+<pre class="brush: js">var p = new Proxy(target, {
set: function(target, property, value, receiver) {
}
});
@@ -82,7 +82,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/set
<p><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Следующий код перехватывает установку значения свойству</span></span></span><span lang="ru"><span>.</span></span></p>
-<pre class="brush: js notranslate">var p = new Proxy({}, {
+<pre class="brush: js">var p = new Proxy({}, {
  set: function(target, prop, value, receiver) {
    target[prop] = value
    console.log('property set: ' + prop + ' = ' + value)
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 1764ba8aac..62463ed859 100644
--- a/files/ru/web/javascript/reference/global_objects/reflect/index.html
+++ b/files/ru/web/javascript/reference/global_objects/reflect/index.html
@@ -50,7 +50,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect
<h3 id="Проверка_наличия_конкретных_свойств_у_объекта">Проверка наличия конкретных свойств у объекта</h3>
-<pre class="brush: js notranslate">const duck = {
+<pre class="brush: js">const duck = {
name: 'Maurice',
color: 'white',
greeting: function() {
@@ -65,12 +65,12 @@ Reflect.has(duck, 'haircut');
<h3 id="Возврат_собственных_ключей_объекта">Возврат собственных ключей объекта</h3>
-<pre class="brush: js notranslate">Reflect.ownKeys(duck);
+<pre class="brush: js">Reflect.ownKeys(duck);
// [ "name", "color", "greeting" ]</pre>
<h3 id="Добавление_нового_свойства_в_объект">Добавление нового свойства в объект</h3>
-<pre class="brush: js notranslate">Reflect.set(duck, 'eyes', 'black');
+<pre class="brush: js">Reflect.set(duck, 'eyes', 'black');
// вернётся "true" если вызов успешен
// объект "duck" теперь содержит свойство "eyes" со значением "black"</pre>
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 a6eb782e72..601b6d84ed 100644
--- a/files/ru/web/javascript/reference/global_objects/regexp/index.html
+++ b/files/ru/web/javascript/reference/global_objects/regexp/index.html
@@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp
<p>Возможны как литеральная запись, так и запись через конструктор:</p>
-<pre class="syntaxbox notranslate"><code>/<var>pattern</var>/<var>flags</var>
+<pre class="syntaxbox"><code>/<var>pattern</var>/<var>flags</var>
new RegExp(<var>pattern</var>, <var>flags</var>)</code>
</pre>
@@ -56,7 +56,7 @@ new RegExp(<var>pattern</var>, <var>flags</var>)</code>
<p>Существует два способа создания объекта <code>RegExp</code>: литеральная запись и использование конструктора. При записи строк параметры в литеральной записи не используют символы кавычек, в то время как параметры функции-конструктора используют кавычки. Так что следующие выражения создают одинаковые регулярные выражения:</p>
-<pre class="brush: js notranslate">/ab+c/i;
+<pre class="brush: js">/ab+c/i;
new RegExp('ab+c', 'i');
</pre>
@@ -66,7 +66,7 @@ new RegExp('ab+c', 'i');
<p>При использовании функции-конструктора необходимо использовать обычные правила экранирования в строках (предварять специальные символы символом обратного слеша «\»). Например, следующие выражения эквивалентны:</p>
-<pre class="brush: js notranslate">var re = /\w+/;
+<pre class="brush: js">var re = /\w+/;
var re = new RegExp('\\w+');
</pre>
@@ -456,7 +456,7 @@ var re = new RegExp('\\w+');
<p>Следующий скрипт использует метод {{jsxref("String.prototype.replace()", "replace()")}} экземпляра строки {{jsxref("Global_Objects/String", "String")}} для сопоставления с именем в формате <em>имя фамилия</em> и выводит его в формате <em>фамилия, имя</em>. В тесте замены скрипт использует заменители <code>$1</code> и <code>$2</code>, которые заменяются на результаты соответствующих сопоставившихся подгрупп регулярного выражения.</p>
-<pre class="brush: js notranslate">var re = /(\w+)\s(\w+)/;
+<pre class="brush: js">var re = /(\w+)\s(\w+)/;
var str = 'John Smith';
var newstr = str.replace(re, '$2, $1');
console.log(newstr);
@@ -474,7 +474,7 @@ console.log(newstr);
<p>Символы конца строки различаются на различных платформах (Unix, Windows и так далее). Разбиение строк из этого примера работает на всех платформах.</p>
-<pre class="brush: js notranslate">var text = 'Некоторый текст\nЕщё текст\r\nИ ещё\rЭто конец';
+<pre class="brush: js">var text = 'Некоторый текст\nЕщё текст\r\nИ ещё\rЭто конец';
var lines = text.split(/\r\n|\r|\n/);
console.log(lines); // выведет [ 'Некоторый текст', 'Ещё текст', 'И ещё', 'Это конец' ]
</pre>
@@ -483,7 +483,7 @@ console.log(lines); // выведет [ 'Некоторый текст', 'Ещё
<h3 id="Example_Using_regular_expression_on_multiple_lines">Пример: использование регулярных выражений на нескольких строках</h3>
-<pre class="brush: js notranslate">var s = 'Please yes\nmake my day!';
+<pre class="brush: js">var s = 'Please yes\nmake my day!';
s.match(/yes.*day/);
// Вернёт null
s.match(/yes[^]*day/);
@@ -494,7 +494,7 @@ s.match(/yes[^]*day/);
<p>Этот пример демонстрирует, как можно использовать флаг «липучести» регулярных выражений для сопоставления с отдельными строками многострочного ввода.</p>
-<pre class="brush: js notranslate">var text = 'Первая строка\nВторая строка';
+<pre class="brush: js">var text = 'Первая строка\nВторая строка';
var regex = /(\S+) строка\n?/y;
var match = regex.exec(text);
@@ -511,7 +511,7 @@ console.log(match3 === null); // напечатает 'true'
<p>Во время выполнения можно проверить, поддерживается ли флаг «липучести», при помощи блока <code>try { … } catch { … }</code>. Для этого надо использовать либо выражение с <code>eval(…)</code>, либо конструктор <code>RegExp(<var>строка-регулярки</var>, <var>строка-с-флагами</var>)</code> (поскольку нотация <code>/<var>регулярка</var>/<var>флаги</var></code> обрабатывается во время компиляции, исключение будет выброшено до того, как выполнение достигнет блока <code>catch</code>). Например:</p>
-<pre class="brush: js notranslate">var supports_sticky;
+<pre class="brush: js">var supports_sticky;
try { RegExp('', 'y'); supports_sticky = true; }
catch(e) { supports_sticky = false; }
console.log(supports_sticky); // напечатает 'true'
@@ -521,7 +521,7 @@ console.log(supports_sticky); // напечатает 'true'
<p>Как уже сказано выше, символьные классы <code>\w</code> и <code>\W</code> сопоставляются только с базовыми символами ASCII; то есть, с символами от «a» до «z», от «A» до «Z», от «0» до «9» и символом «_». Для сопоставления с символами из других языков, например, с кириллическими или иврита, используйте форму <code>\uhhhh</code>, где «hhhh» — это значение символа Юникода, записанное в шестнадцатеричной форме. Этот пример демонстрирует, как можно выделить символы Юникода, составляющие слова.</p>
-<pre class="brush: js notranslate">var text = 'Образец text на русском языке';
+<pre class="brush: js">var text = 'Образец text на русском языке';
var regex = /[\u0400-\u04FF]+/g;
var match = regex.exec(text);
@@ -539,7 +539,7 @@ console.log(regex.lastIndex); // напечатает '15'
<h3 id="Example_Extracting_subdomain_name_from_URL">Пример: извлечение имени поддомена из URL</h3>
-<pre class="brush: js notranslate">var url = 'http://xxx.domain.com';
+<pre class="brush: js">var url = 'http://xxx.domain.com';
console.log(/[^.]+/.exec(url)[0].substr(7)); // напечатает 'xxx'
</pre>
@@ -578,7 +578,7 @@ console.log(/[^.]+/.exec(url)[0].substr(7)); // напечатает 'xxx'
<p>Начиная с Gecko 34 {{geckoRelease(34)}}, в случае захвата группы с квантификаторами, предотвращающими появление группы в результате сопоставления, сопоставившийся текст для захваченной группы теперь имеет значение <code>undefined</code> вместо пустой строки:</p>
-<pre class="brush: js notranslate">// Firefox 33 или более ранние
+<pre class="brush: js">// Firefox 33 или более ранние
'x'.replace(/x(.)?/g, function(m, group) {
console.log("'group:" + group + "'");
}); // 'group:'
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 89551d517b..fd3232f351 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
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/lastMatch
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><var>RegExp</var>.lastMatch
+<pre class="syntaxbox"><var>RegExp</var>.lastMatch
RegExp['$&amp;']
</pre>
@@ -25,7 +25,7 @@ RegExp['$&amp;']
<h3 id="Использование_lastMatch_и">Использование <code>lastMatch</code> и <code>$&amp;</code></h3>
-<pre class="brush: js notranslate">var re = /hi/g;
+<pre class="brush: js">var re = /hi/g;
re.test('hi there!');
RegExp.lastMatch; // "hi"
RegExp['$&amp;']; // "hi"
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 8febad1cee..2720aafa80 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
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">new Set([<var>iterable</var>])</pre>
+<pre class="syntaxbox">new Set([<var>iterable</var>])</pre>
<h3 id="Параметры">Параметры</h3>
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set
<h3 id="Использование_объекта_Set">Использование объекта Set</h3>
-<pre class="brush: js notranslate">let mySet = new Set()
+<pre class="brush: js">let mySet = new Set()
mySet.add(1) // Set [ 1 ]
mySet.add(5) // Set [ 1, 5 ]
diff --git a/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html
index 9b26c886e7..203c8a97f0 100644
--- a/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html
@@ -22,13 +22,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/@@iterator
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>string</var>[Symbol.iterator]</code></pre>
+<pre class="syntaxbox"><code><var>string</var>[Symbol.iterator]</code></pre>
<h2 id="Examples">Примеры</h2>
<h3 id="Example_Using_.5B.40.40iterator.5D">Пример: использование метода <code>[@@iterator]()</code></h3>
-<pre class="brush:js notranslate">var string = 'A\uD835\uDC68';
+<pre class="brush:js">var string = 'A\uD835\uDC68';
var strIter = string[Symbol.iterator]();
@@ -38,7 +38,7 @@ console.log(strIter.next().value); // "\uD835\uDC68"
<h3 id="Example_Using_.5B.40.40iterator.5D_with_for..of">Пример: использование метода <code>[@@iterator]()</code> вместе с циклом <code>for..of</code></h3>
-<pre class="brush:js notranslate">var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
+<pre class="brush:js">var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
for (var v of string) {
console.log(v);
diff --git a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html
index 1fa53bd180..fe4795f959 100644
--- a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
<h3 id="Example_Using_endsWith">Пример: использование метода <code>endsWith()</code></h3>
-<pre class="brush: js notranslate">var str = 'Быть или не быть, вот в чём вопрос.';
+<pre class="brush: js">var str = 'Быть или не быть, вот в чём вопрос.';
console.log(str.endsWith('вопрос.')); // true
console.log(str.endsWith('быть')); // false
@@ -51,7 +51,7 @@ console.log(str.endsWith('быть', 16)); // true
<p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p>
-<pre class="brush: js notranslate">if (!String.prototype.endsWith) {
+<pre class="brush: js">if (!String.prototype.endsWith) {
Object.defineProperty(String.prototype, 'endsWith', {
value: function(searchString, position) {
var subjectString = this.toString();
diff --git a/files/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html
index 5db7b5e416..80c7293c4d 100644
--- a/files/ru/web/javascript/reference/global_objects/string/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String
<p>Строковые литералы могут быть следующих форм:</p>
-<pre class="syntaxbox notranslate"><code>'строка текста'
+<pre class="syntaxbox"><code>'строка текста'
"строка текста"
"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
</code></pre>
@@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String
<p>Либо можно использовать глобальный объект <code>String</code> напрямую:</p>
-<pre class="syntaxbox notranslate"><code>String(thing)
+<pre class="syntaxbox"><code>String(thing)
new String(thing)
</code></pre>
@@ -103,12 +103,12 @@ new String(thing)
<p>Существует два способа добраться до конкретного символа в строке. В первом способе используется метод {{jsxref("String.prototype.charAt()", "charAt()")}}:</p>
-<pre class="brush: js notranslate">return 'кот'.charAt(1); // вернёт "о"
+<pre class="brush: js">return 'кот'.charAt(1); // вернёт "о"
</pre>
<p>Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:</p>
-<pre class="brush: js notranslate">return 'кот'[1]; // вернёт "о"
+<pre class="brush: js">return 'кот'[1]; // вернёт "о"
</pre>
<p>При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу {{jsxref("Object.defineProperty()")}} для дополнительной информации.</p>
@@ -117,7 +117,7 @@ new String(thing)
<p>Разработчики на C имеют для сравнения строк функцию <code>strcmp()</code>. В JavaScript вы просто используете <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F">операторы меньше и больше</a>:</p>
-<pre class="brush: js notranslate">var a = 'a';
+<pre class="brush: js">var a = 'a';
var b = 'b';
if (a &lt; b) { // true
print(a + ' меньше чем ' + b);
@@ -136,7 +136,7 @@ if (a &lt; b) { // true
<p>Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом <code>String</code> в неконструкторном контексте (то есть, без использования ключевого слова {{jsxref("Operators/new", "new")}}) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты <code>String</code>, так что на строковых примитивах возможно использовать методы объекта <code>String</code>. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.</p>
-<pre class="brush: js notranslate">var s_prim = 'foo';
+<pre class="brush: js">var s_prim = 'foo';
var s_obj = new String(s_prim);
console.log(typeof s_prim); // выведет 'string'
@@ -145,7 +145,7 @@ console.log(typeof s_obj); // выведет 'object'
<p>Строковые примитивы и объекты <code>String</code> также дают разные результаты при использовании глобальной функции {{jsxref("Global_Objects/eval", "eval()")}}. Примитивы, передаваемые в <code>eval()</code>, трактуются как исходный код; объекты же <code>String</code> трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:</p>
-<pre class="brush: js notranslate">var s1 = '2 + 2'; // создаёт строковый примитив
+<pre class="brush: js">var s1 = '2 + 2'; // создаёт строковый примитив
var s2 = new String('2 + 2'); // создаёт объект String
console.log(eval(s1)); // выведет число 4
console.log(eval(s2)); // выведет строку '2 + 2'
@@ -155,7 +155,7 @@ console.log(eval(s2)); // выведет строку '2 + 2'
<p>Объект <code>String</code> также всегда может быть преобразован в его примитивный аналог при помощи метода {{jsxref("String.prototype.valueOf()", "valueOf()")}}.</p>
-<pre class="brush: js notranslate">console.log(eval(s2.valueOf())); // выведет число 4
+<pre class="brush: js">console.log(eval(s2.valueOf())); // выведет число 4
</pre>
<div class="note"><strong>Примечание:</strong> для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о <a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобном представлении строк на основе типизированных массивов</a>.</div>
@@ -186,7 +186,7 @@ console.log(eval(s2)); // выведет строку '2 + 2'
<p>Методы экземпляров <code>String</code> также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте <code>String</code>, что позволяет применять эти методы к любому объекту:</p>
-<pre class="brush: js notranslate">var num = 15;
+<pre class="brush: js">var num = 15;
console.log(String.replace(num, /5/, '2'));
</pre>
@@ -194,7 +194,7 @@ console.log(String.replace(num, /5/, '2'));
<p>Следующая прослойка позволяет использовать их во всех браузерах:</p>
-<pre class="brush: js notranslate">/*globals define*/
+<pre class="brush: js">/*globals define*/
// Предполагаем, что все требуемые методы экземпляров String уже присутствуют
// (для них так же можно использовать полифилы, если их нет)
(function() {
@@ -249,7 +249,7 @@ console.log(String.replace(num, /5/, '2'));
<p>Объект <code>String</code> можно использовать как «безопасную» альтернативу методу {{jsxref("String.prototype.toString()", "toString()")}}, так как хотя он обычно и вызывает соответствующий метод <code>toString()</code>, он также работает и для значений {{jsxref("Global_Objects/null", "null")}} и {{jsxref("Global_Objects/undefined", "undefined")}}. Например:</p>
-<pre class="brush: js notranslate">var outputStrings = [];
+<pre class="brush: js">var outputStrings = [];
for (var i = 0, n = inputValues.length; i &lt; n; ++i) {
outputStrings.push(String(inputValues[i]));
}
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 1ffad309c2..f314d2f18c 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
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.matchAll(<var>regexp</var>)</pre>
+<pre class="syntaxbox"><var>str</var>.matchAll(<var>regexp</var>)</pre>
<h3 id="Параметры">Параметры</h3>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll
<p>До добавления метода <code>matchAll</code> в JavaScript, можно было использовать метод <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec">regexp.exec</a> (и регулярные выражения с флагом <code>/g</code> ) в цикле для получения доступа к совпадениям:</p>
-<pre class="brush: js notranslate">const regexp = RegExp('foo*','g');
+<pre class="brush: js">const regexp = RegExp('foo*','g');
const str = 'table football, foosball';
while ((matches = regexp.exec(str)) !== null) {
@@ -52,7 +52,7 @@ while ((matches = regexp.exec(str)) !== null) {
<p>С появлением <code>matchAll</code>, нет необходимости использовать цикл <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/while">while</a></code> и метод <code>exec</code> с флагом <code>/g</code>.<br>
Используя вместо этого метод <code>matchAll</code>, вы получаете итератор, который вы можете использовать более удобно с конструкциями <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code>, <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax">array spread</a>, или {{jsxref("Array.from()")}} :</p>
-<pre class="brush: js notranslate">const regexp = RegExp('foo*','g');
+<pre class="brush: js">const regexp = RegExp('foo*','g');
const str = 'table football, foosball';
let matches = str.matchAll(regexp);
@@ -74,7 +74,7 @@ Array.from(matches, m =&gt; m[0]);
<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;
+<pre class="brush: js">var regexp = /t(e)(st(\d?))/g;
var str = 'test1test2';
str.match(regexp);
@@ -82,7 +82,7 @@ str.match(regexp);
<p>С <code>matchAll</code> у вас появляется к ним доступ:</p>
-<pre class="brush: js notranslate">let array = [...str.matchAll(regexp)];
+<pre class="brush: js">let array = [...str.matchAll(regexp)];
array[0];
// ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', length: 4]
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 318e9a30c3..3c4ce6551f 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
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)
+<pre class="syntaxbox">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)
</pre>
<div class="blockIndicator note">
@@ -119,20 +119,20 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<h3 id="Using_replaceAll">Using replaceAll</h3>
-<pre class="brush: js notranslate">'aabbcc'.replaceAll('b', '.');
+<pre class="brush: js">'aabbcc'.replaceAll('b', '.');
// 'aa..cc'</pre>
<h3 id="Non-global_regex_throws">Non-global regex throws</h3>
<p>Поиск с регулярными выражениями должен быть с ("g"). Это не работает:</p>
-<pre class="brush: js; example-bad notranslate">'aabbcc'.replaceAll(/b/, '.');
+<pre class="brush: js; example-bad">'aabbcc'.replaceAll(/b/, '.');
TypeError: replaceAll must be called with a global RegExp
</pre>
<p>Это работает:</p>
-<pre class="brush: js; example-good notranslate">'aabbcc'.replaceAll(/b/g, '.');
+<pre class="brush: js; example-good">'aabbcc'.replaceAll(/b/g, '.');
"aa..cc"
</pre>
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 1750d01614..07a1f6b523 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
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -51,7 +51,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
<p>В следующем примере метод <code>slice()</code> используется для создания новой строки.</p>
-<pre class="brush: js notranslate">let str1 = 'Приближается утро.';
+<pre class="brush: js">let str1 = 'Приближается утро.';
let str2 = str1.slice(1, 8);
let str3 = str1.slice(4, -2);
let str4 = str1.slice(12);
@@ -67,7 +67,7 @@ console.log(str5); // ВЫВОД: ""
<p>В следующем примере метод <code>slice()</code> используется вместе с отрицательными индексами.</p>
-<pre class="brush: js notranslate">let str = 'Приближается утро.';
+<pre class="brush: js">let str = 'Приближается утро.';
str.slice(-3); // вернёт 'ро.'
str.slice(-3, -1); // вернёт 'ро'
str.slice(0, -1); // вернёт 'Приближается утро'
@@ -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">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">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">str.slice(-5, -1); // вернёт 'утро'</pre>
<h2 id="Specifications">Спецификации</h2>
diff --git a/files/ru/web/javascript/reference/global_objects/string/split/index.html b/files/ru/web/javascript/reference/global_objects/string/split/index.html
index 984fe07e85..32eae7b9c0 100644
--- a/files/ru/web/javascript/reference/global_objects/string/split/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/split/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/split
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.split([<var>separator</var>[, <var>limit</var>]])</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.split([<var>separator</var>[, <var>limit</var>]])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/split
<p>В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.</p>
-<pre class="brush: js notranslate">function splitString(stringToSplit, separator) {
+<pre class="brush: js">function splitString(stringToSplit, separator) {
var arrayOfStrings = stringToSplit.split(separator);
console.log('Оригинальная строка: "' + stringToSplit + '"');
@@ -68,7 +68,7 @@ splitString(monthString, comma);
<p>Пример сгенерирует следующий вывод:</p>
-<pre class="notranslate">Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+<pre>Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
Разделитель: " "
Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди!
@@ -85,7 +85,7 @@ splitString(monthString, comma);
<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная <code>nameList</code> является массивом, возвращённым в результате работы метода <code>split()</code>.</p>
-<pre class="brush: js notranslate">var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
+<pre class="brush: js">var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
console.log(names);
@@ -97,7 +97,7 @@ console.log(nameList);
<p>Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.</p>
-<pre class="notranslate">Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
+<pre>Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
</pre>
@@ -105,7 +105,7 @@ console.log(nameList);
<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.</p>
-<pre class="brush: js notranslate">var myString = 'Привет, мир. Как дела?';
+<pre class="brush: js">var myString = 'Привет, мир. Как дела?';
var splits = myString.split(' ', 3);
console.log(splits);
@@ -113,14 +113,14 @@ console.log(splits);
<p>Вывод скрипта будет следующим:</p>
-<pre class="brush: js notranslate">Привет,,мир.,Как
+<pre class="brush: js">Привет,,мир.,Как
</pre>
<h3 id="Example_Capturing_parentheses">Пример: захват подгрупп</h3>
<p>Если параметр <code>separator</code> содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.</p>
-<pre class="brush: js notranslate">var myString = 'Привет 1 мир. Предложение номер 2.';
+<pre class="brush: js">var myString = 'Привет 1 мир. Предложение номер 2.';
var splits = myString.split(/(\d)/);
console.log(splits);
@@ -128,12 +128,12 @@ console.log(splits);
<p>Вывод скрипта будет следующим:</p>
-<pre class="brush: js notranslate">Привет ,1, мир. Предложение номер ,2,.
+<pre class="brush: js">Привет ,1, мир. Предложение номер ,2,.
</pre>
<h3 id="Example_Reversing_a_String_using_split">Пример: обращение строки при помощи метода <code>split()</code></h3>
-<pre class="brush: js notranslate">var str = 'фывапролд';
+<pre class="brush: js">var str = 'фывапролд';
var strReverse = str.split('').reverse().join(''); // 'длорпавыф'
// split() возвращает массив, к которому применяются методы reverse() и join()
</pre>
diff --git a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html
index 25084d3d35..9601687858 100644
--- a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
<h3 id="Example_Using_startsWith">Пример: использование метода <code>startsWith()</code></h3>
-<pre class="brush: js notranslate">var str = 'Быть или не быть, вот в чём вопрос.';
+<pre class="brush: js">var str = 'Быть или не быть, вот в чём вопрос.';
console.log(str.startsWith('Быть')); // true
console.log(str.startsWith('не быть')); // false
@@ -48,7 +48,7 @@ console.log(str.startsWith('не быть', 9)); // true
<p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p>
-<pre class="brush: js notranslate">if (!String.prototype.startsWith) {
+<pre class="brush: js">if (!String.prototype.startsWith) {
Object.defineProperty(String.prototype, 'startsWith', {
enumerable: false,
configurable: false,
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 9b1f77b853..2ce67df673 100644
--- a/files/ru/web/javascript/reference/global_objects/weakmap/index.html
+++ b/files/ru/web/javascript/reference/global_objects/weakmap/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code>new WeakMap([iterable])
+<pre class="syntaxbox"><code>new WeakMap([iterable])
</code></pre>
<h3 id="Parameters">Параметры</h3>
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap
<h3 id="Использование_объекта_WeakMap">Использование объекта <code>WeakMap</code></h3>
-<pre class="brush: js notranslate">const wm1 = new WeakMap(),
+<pre class="brush: js">const wm1 = new WeakMap(),
wm2 = new WeakMap(),
wm3 = new WeakMap();
const o1 = {},
@@ -92,7 +92,7 @@ wm1.has(o1); // false
<h3 id="Пример_Реализация_класса_WeakMap-like_классов_с_методом_.clear">Пример: Реализация класса WeakMap-like классов с методом .clear()</h3>
-<pre class="brush: js notranslate">class ClearableWeakMap {
+<pre class="brush: js">class ClearableWeakMap {
constructor(init) {
this._wm = new WeakMap(init)
}
diff --git a/files/ru/web/javascript/reference/lexical_grammar/index.html b/files/ru/web/javascript/reference/lexical_grammar/index.html
index 64a70d311e..f70c017e14 100644
--- a/files/ru/web/javascript/reference/lexical_grammar/index.html
+++ b/files/ru/web/javascript/reference/lexical_grammar/index.html
@@ -166,7 +166,7 @@ ECMAScript также определяет ключевые слова и лит
<p>Первый способ <code>//</code> комментарий; в этом случае весь текст в строке после двойного слеша будет комментарием, например:</p>
-<pre class="brush: js notranslate">function comment() {
+<pre class="brush: js">function comment() {
// Это комментарий в строке
console.log("Hello world!");
}
@@ -177,7 +177,7 @@ comment();
<p>Например, вы можете использовать его в одной строке:</p>
-<pre class="brush: js notranslate">function comment() {
+<pre class="brush: js">function comment() {
/* Это однострочный комментарий */
console.log("Hello world!");
}
@@ -185,7 +185,7 @@ comment();</pre>
<p>Либо вы можете сделать многострочный комментарий, как показано здесь:</p>
-<pre class="brush: js notranslate">function comment() {
+<pre class="brush: js">function comment() {
/* Этот комментарий располагается на нескольких линиях.
Обратите внимание, что вам не нужно обрывать комментарий, пока вы его не закончите*/
console.log("Hello world!");
@@ -194,14 +194,14 @@ comment(); </pre>
<p>Также, если пожелаете, то вы можете использовать такое комментирование посреди строки кода. Хотя это может ухудшить читабельность кода:</p>
-<pre class="brush: js notranslate">function comment(x) {
+<pre class="brush: js">function comment(x) {
console.log("Hello " + x /* вставьте значение x */ + " !");
}
comment("world");</pre>
<p>Чтобы отключить выполнение кода, просто оберните код в комментарий, как здесь:</p>
-<pre class="brush: js notranslate">function comment() {
+<pre class="brush: js">function comment() {
/* console.log("Hello world!"); */
}
comment();</pre>
@@ -216,7 +216,7 @@ comment();</pre>
<p>Шебанг комментарий определяет путь к  JavaScript интерпретатору, скрипт которого вы хотите выполнить. Пример, как это работает:</p>
-<pre class="brush: js notranslate">#!/usr/bin/env node
+<pre class="brush: js">#!/usr/bin/env node
console.log("Hello world");
</pre>
@@ -329,14 +329,14 @@ console.log("Hello world");
<p>Зарезервированные слова действительно применяются только к идентификаторам<strong> (vs. IdentifierNames)</strong>. Как описано в <a href="http://es5.github.com/#A.1">es5.github.com/#A.1</a>, это все имена IdentifierNames, которые не исключают зарезервированных слов.</p>
-<pre class="brush: js notranslate">a.import
+<pre class="brush: js">a.import
a["import"]
a = { import: "test" }.
</pre>
<p>С другой стороны, следующее выражение неправильно, т.к. Идентификатор <code>IdentifierName</code> не содержит зарезервированных слов. Идентификаторы используются для <code>FunctionDeclaration, FunctionExpression, VariableDeclaration</code> и т.п., в то время, как <code>IdentifierNames</code> используются для <code> MemberExpression, CallExpression</code> и т.п.</p>
-<pre class="brush: js notranslate">function import() {} // неправильно.</pre>
+<pre class="brush: js">function import() {} // неправильно.</pre>
<h2 id="Литералы">Литералы</h2>
@@ -344,20 +344,20 @@ a = { import: "test" }.
<p>Подробнее о <code>{{jsxref('Global_Objects/null','null')}}null</code>.</p>
-<pre class="brush: js notranslate">null</pre>
+<pre class="brush: js">null</pre>
<h3 id="Литерал_Boolean">Литерал Boolean</h3>
<p>Подробнее о <code>{{jsxref('Global_Objects/Boolean','Boolean')}}</code>.</p>
-<pre class="brush: js notranslate">true
+<pre class="brush: js">true
false</pre>
<h3 id="Литералы_чисел">Литералы чисел</h3>
<h4 id="Decimal_десятичные_числа">Decimal (десятичные числа)</h4>
-<pre class="brush: js notranslate">1234567890
+<pre class="brush: js">1234567890
42
// Будьте осторожны с использованием нуля вначале числа:
@@ -372,7 +372,7 @@ false</pre>
<p>Синтаксис двоичных чисел состоит из цифры ноль, за которой следует маленькая или большая латинская буква "B" (0b или 0B). Этот синтаксис новый и появился только в ECMAScript 2015, пожалуйста посмотрите таблицу совместимости с браузерами. Это может производить ошибку <code>{{jsxref('Global_Objects/SyntaxError','SyntaxError')}}</code>: "Missing binary digits after 0b", Если цифры не 0 или 1.</p>
-<pre class="brush: js notranslate">var FLT_SIGNBIT = 0b10000000000000000000000000000000; // 2147483648
+<pre class="brush: js">var FLT_SIGNBIT = 0b10000000000000000000000000000000; // 2147483648
var FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
var FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607</pre>
@@ -380,7 +380,7 @@ var FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607</pre>
<p>Восьмеричный числовой синтаксис, который использует 0 с последующей, в нижнем или верхнем регистре, латинскую букву "О" (<code>0o</code> или <code>0O)</code>. Этот синтаксис появился в ECMAScript 2015, пожалуйста, посмотрите таблицу совместимости с браузерами. Это может производить ошибку <code>SyntaxError</code>: "Missing octal digits after 0o", если цифры не между 0 и 7.</p>
-<pre class="brush: js notranslate">var n = 0O755; // 493
+<pre class="brush: js">var n = 0O755; // 493
var m = 0o644; // 420
// Так же возможно с лидирующими нулями (см. заметку о десятичных дробях выше)
@@ -392,7 +392,7 @@ var m = 0o644; // 420
<p>Шестнадцатеричный числовой синтаксис, который использует 0 с последующей, в нижнем или верхнем регистре, латинскую букву "X" (<code>0x</code> или <code>0X)</code>. Если числа после 0x вне диапазона (0123456789ABCDEF), то может последовать за этим {{jsxref("SyntaxError")}}: "Identifier starts immediately after numeric literal".</p>
-<pre class="brush: js notranslate">0xFFFFFFFFFFFFFFFFF // 295147905179352830000
+<pre class="brush: js">0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF // 81985529216486900
0XA // 10
</pre>
@@ -401,7 +401,7 @@ var m = 0o644; // 420
<p>Смотрите также {{jsxref("Object")}} и {{jsxref('Operators/Object_initializer','Object initializer')}} для получения более подробной информации.</p>
-<pre class="brush: js notranslate">var o = { a: "foo", b: "bar", c: 42 };
+<pre class="brush: js">var o = { a: "foo", b: "bar", c: 42 };
// сокращённая нотация. Появилась в ES2015
var a = "foo", b = "bar", c = 42;
@@ -414,23 +414,23 @@ var o = { a: a, b: b, c: c };
<p>Смотрите также {{jsxref("Array")}} для получения более подробной информации.</p>
-<pre class="brush: js notranslate">[1954, 1974, 1990, 2014]</pre>
+<pre class="brush: js">[1954, 1974, 1990, 2014]</pre>
<h3 id="Литерал_String_Строка">Литерал String (Строка)</h3>
-<pre class="brush: js notranslate">'foo'
+<pre class="brush: js">'foo'
"bar"</pre>
<h4 id="Экранирование_шестнадцатеричной_последовательности">Экранирование шестнадцатеричной последовательности</h4>
-<pre class="brush: js notranslate">'\xA9' // "©"
+<pre class="brush: js">'\xA9' // "©"
</pre>
<h4 id="Экранирование_Юникод_символов">Экранирование Юникод символов</h4>
<p>Для экранирования Юникод символов обязательно нужно указать по крайней мере 4 символа после \u.</p>
-<pre class="brush: js notranslate">'\u00A9' // "©"</pre>
+<pre class="brush: js">'\u00A9' // "©"</pre>
<h4 id="Unicode_code_point_escapes">Unicode code point escapes</h4>
@@ -438,7 +438,7 @@ var o = { a: a, b: b, c: c };
<p>See also {{jsxref("String.fromCodePoint()")}} or {{jsxref("String.prototype.codePointAt()")}}.</p>
-<pre class="brush: js notranslate">'\u{2F804}'
+<pre class="brush: js">'\u{2F804}'
// the same with simple Unicode escapes
'\uD87E\uDC04'</pre>
@@ -447,7 +447,7 @@ var o = { a: a, b: b, c: c };
<p>Смотрите также <code>{{jsxref('Global_Objects/RegExp','RegExp')}}</code> для получения более подробной информации.</p>
-<pre class="brush: js notranslate">/ab+c/g
+<pre class="brush: js">/ab+c/g
// An "empty" regular expression literal
// The empty non-capturing group is necessary
@@ -458,7 +458,7 @@ var o = { a: a, b: b, c: c };
<p>Смотрите также {{jsxref('template_strings','template strings')}} для получения более подробной информации.</p>
-<pre class="brush: js notranslate">`string text`
+<pre class="brush: js">`string text`
`string text line 1
string text line 2`
@@ -485,7 +485,7 @@ tag `string text ${expression} string text`</pre>
<p>1. Точка с запятой ставится до, когда ограничитель строки или "}" is encountered that is not allowed by the grammar.</p>
-<pre class="brush: js notranslate">{ 1 2 } 3
+<pre class="brush: js">{ 1 2 } 3
// согласно ASI, будет преобразовано в
@@ -495,7 +495,7 @@ tag `string text ${expression} string text`</pre>
<p>Here <code>++</code> is not treated as a {{jsxref('Operators/Arithmetic_Operators','postfix operator','Increment')}} applying to variable <code>b</code>, because a line terminator occurs between <code>b</code> and <code>++</code>.</p>
-<pre class="brush: js notranslate">a = b
+<pre class="brush: js">a = b
++c
// согласно ASI, будет преобразовано в
@@ -515,7 +515,7 @@ a = b;
<li><code>module</code></li>
</ul>
-<pre class="brush: js notranslate">return
+<pre class="brush: js">return
a + b
// согласно ASI, будет преобразовано в
diff --git a/files/ru/web/javascript/reference/operators/addition/index.html b/files/ru/web/javascript/reference/operators/addition/index.html
index 944ef3d8a7..c9b2961231 100644
--- a/files/ru/web/javascript/reference/operators/addition/index.html
+++ b/files/ru/web/javascript/reference/operators/addition/index.html
@@ -18,14 +18,14 @@ translation_of: Web/JavaScript/Reference/Operators/Addition
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><strong>Оператор:</strong> <var>x</var> + <var>y</var>
+<pre class="syntaxbox"><strong>Оператор:</strong> <var>x</var> + <var>y</var>
</pre>
<h2 id="Примеры">Примеры</h2>
<h3 id="Сложение_чисел">Сложение чисел</h3>
-<pre class="brush: js notranslate">// Number + Number -&gt; addition
+<pre class="brush: js">// Number + Number -&gt; addition
1 + 2 // 3
// Boolean + Number -&gt; addition
@@ -37,7 +37,7 @@ false + false // 0
<h3 id="Сложение_строк">Сложение строк</h3>
-<pre class="brush: js notranslate">// String + String -&gt; concatenation
+<pre class="brush: js">// String + String -&gt; concatenation
'foo' + 'bar' // "foobar"
// Number + String -&gt; concatenation
diff --git a/files/ru/web/javascript/reference/operators/addition_assignment/index.html b/files/ru/web/javascript/reference/operators/addition_assignment/index.html
index e7124ec00f..99c5b74dc5 100644
--- a/files/ru/web/javascript/reference/operators/addition_assignment/index.html
+++ b/files/ru/web/javascript/reference/operators/addition_assignment/index.html
@@ -18,14 +18,14 @@ translation_of: Web/JavaScript/Reference/Operators/Addition_assignment
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><strong>Оператор:</strong> x += y
+<pre class="syntaxbox"><strong>Оператор:</strong> x += y
<strong>Значение:</strong> x = x + y</pre>
<h2 id="Примеры">Примеры</h2>
<h3 id="Использование_сложения_с_присваиванием">Использование сложения с присваиванием</h3>
-<pre class="brush: js notranslate">// Assuming the following variables
+<pre class="brush: js">// Assuming the following variables
// foo = 'foo'
// bar = 5
// baz = true
diff --git a/files/ru/web/javascript/reference/operators/assignment/index.html b/files/ru/web/javascript/reference/operators/assignment/index.html
index 795c61c381..70aacd182a 100644
--- a/files/ru/web/javascript/reference/operators/assignment/index.html
+++ b/files/ru/web/javascript/reference/operators/assignment/index.html
@@ -26,14 +26,14 @@ original_slug: Web/JavaScript/Reference/Operators/Присваивание
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><strong>Оператор:</strong> x = y
+<pre class="syntaxbox"><strong>Оператор:</strong> x = y
</pre>
<h2 id="Примеры">Примеры</h2>
<h3 id="Простое_и_цепное_присваивание">Простое и цепное присваивание</h3>
-<pre class="brush: js notranslate">// Предположим следующие переменные и их значения
+<pre class="brush: js">// Предположим следующие переменные и их значения
// x = 5
// y = 10
// z = 25
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 bdb11d9d4b..745ad33be8 100644
--- a/files/ru/web/javascript/reference/operators/bitwise_and/index.html
+++ b/files/ru/web/javascript/reference/operators/bitwise_and/index.html
@@ -18,14 +18,14 @@ translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><code><var>a</var> &amp; <var>b</var></code>
+<pre class="syntaxbox"><code><var>a</var> &amp; <var>b</var></code>
</pre>
<h2 id="Описание">Описание</h2>
<p>Операнды преобразуются в  32-битные целые числа и выражаются серией битов (нулей and единиц). Числа с более чем 32 битами отбрасывают старшие разряды. Например, следующее целое число  с более чем 32 битами будет преобразовано в 32-битное целое:</p>
-<pre class="brush: js notranslate">До: 11100110111110100000000000000110000000000001
+<pre class="brush: js">До: 11100110111110100000000000000110000000000001
После: 10100000000000000110000000000001</pre>
<p>Каждый бит в первом операнде связан с соответствующим битом во втором операнде:<em>первый бит - с первым</em>,<em>второй- со вторым</em>, и т.д.</p>
@@ -66,7 +66,7 @@ translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND
</tbody>
</table>
-<pre class="brush: js notranslate">. 9 (base 10) = 00000000000000000000000000001001 (base 2)
+<pre class="brush: js">. 9 (base 10) = 00000000000000000000000000001001 (base 2)
14 (base 10) = 00000000000000000000000000001110 (base 2)
--------------------------------
14 &amp; 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
@@ -78,7 +78,7 @@ translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND
<h3 id="Использование_побитового_И">Использование побитового И</h3>
-<pre class="brush: js notranslate">// 5: 00000000000000000000000000000101
+<pre class="brush: js">// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
5 &amp; 2; // 0</pre>
diff --git a/files/ru/web/javascript/reference/operators/class/index.html b/files/ru/web/javascript/reference/operators/class/index.html
index c7efce0be6..4fa06e092f 100644
--- a/files/ru/web/javascript/reference/operators/class/index.html
+++ b/files/ru/web/javascript/reference/operators/class/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Operators/class
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">var MyClass = class <em>[className]</em> [extends] {
+<pre class="syntaxbox">var MyClass = class <em>[className]</em> [extends] {
  // тело класса
};</pre>
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Operators/class
<p>Так же, как и при использовании class declaration, тело класса у class expression будет исполняться в {{jsxref("Strict_mode", "строгом режиме", "", 1)}}.</p>
-<pre class="brush: js notranslate">'use strict';
+<pre class="brush: js">'use strict';
var Foo = class {}; // свойство конструктора опционально
var Foo = class {}; // повторное объявление разрешено
@@ -39,7 +39,7 @@ class Foo {}; // Throws TypeError, doesn't allow re-declaration
<p>Простой анонимный class expression, на который можно сослаться с помощью переменной "Foo".</p>
-<pre class="brush: js notranslate">var Foo = class {
+<pre class="brush: js">var Foo = class {
constructor() {}
bar() {
return "Hello World!";
@@ -55,7 +55,7 @@ Foo.name; // "Foo"
<p>Если вы хотите сослаться на конкретный класс внутри тела класса, вы можете создать именованный class expression. Это имя будет доступно только внутри области видимости самого class expression.</p>
-<pre class="brush: js notranslate">var Foo = class NamedFoo {
+<pre class="brush: js">var Foo = class NamedFoo {
constructor() {}
whoIsThere() {
return NamedFoo.name;
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 a95e4faac7..259cd5122e 100644
--- a/files/ru/web/javascript/reference/operators/conditional_operator/index.html
+++ b/files/ru/web/javascript/reference/operators/conditional_operator/index.html
@@ -13,7 +13,7 @@ original_slug: Web/JavaScript/Reference/Operators/Условный_операт
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><em>условие</em> ? <em>выражение1</em> : <em>выражение2 </em></pre>
+<pre class="syntaxbox"><em>условие</em> ? <em>выражение1</em> : <em>выражение2 </em></pre>
<h3 id="Параметры">Параметры</h3>
@@ -31,16 +31,16 @@ original_slug: Web/JavaScript/Reference/Operators/Условный_операт
<p>Оператор возвращает значение <code>выражения1</code>, если <code>условие</code> верно, и значение <code>выражения2</code> в противном случае. Например, чтобы вывести сообщение, текст которого зависит от значения переменной <code>isMember</code>, можно использовать такое выражение:</p>
-<pre class="brush: js notranslate">"The fee is " + (isMember ? "$2.00" : "$10.00")
+<pre class="brush: js">"The fee is " + (isMember ? "$2.00" : "$10.00")
</pre>
<p>Также можно присваивать значения переменным на основе результатов работы тернарного оператора :</p>
-<pre class="brush: js notranslate">var elvisLives = Math.PI &gt; 4 ? "Да" : "Нет";</pre>
+<pre class="brush: js">var elvisLives = Math.PI &gt; 4 ? "Да" : "Нет";</pre>
<p>Возможны множественные тернарные операции (обратите внимание: условный оператор ассоциативен справа):</p>
-<pre class="brush: js notranslate">var firstCheck = false,
+<pre class="brush: js">var firstCheck = false,
secondCheck = false,
access = firstCheck ? "Доступ запрещён" : secondCheck ? "Доступ запрещён" : "Доступ разрешён";
@@ -48,14 +48,14 @@ console.log( access ); // выводит в консоль "Доступ раз
<p>Тернарные операции можно использовать и сами по себе - для выполнения различных операций:</p>
-<pre class="brush: js notranslate">var stop = false, age = 16;
+<pre class="brush: js">var stop = false, age = 16;
age &gt; 18 ? location.assign("continue.html") : stop = true;
</pre>
<p>Также возможно выполнять несколько операций на каждое сравнение, разделив их запятыми:</p>
-<pre class="brush: js notranslate">var stop = false, age = 23;
+<pre class="brush: js">var stop = false, age = 23;
age &gt; 18 ? (
alert("Хорошо, вы можете продолжить."),
@@ -68,7 +68,7 @@ age &gt; 18 ? (
<p>При присвоении значения также возможно выполнение более одной операции. В этом случае переменной <strong>будет присвоено то значение, </strong><em><strong>которое стоит последним в списке значений, разделённых запятой</strong></em>.</p>
-<pre class="brush: js notranslate">var age = 16;
+<pre class="brush: js">var age = 16;
var url = age &gt; 18 ? (
alert("Хорошо, вы можете продолжить."),
diff --git a/files/ru/web/javascript/reference/operators/decrement/index.html b/files/ru/web/javascript/reference/operators/decrement/index.html
index 722d4a5889..64d29374a3 100644
--- a/files/ru/web/javascript/reference/operators/decrement/index.html
+++ b/files/ru/web/javascript/reference/operators/decrement/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Operators/Decrement
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><strong>Operator:</strong> <var>x</var>-- or --<var>x</var>
+<pre class="syntaxbox"><strong>Operator:</strong> <var>x</var>-- or --<var>x</var>
</pre>
<h2 id="Описание">Описание</h2>
@@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Operators/Decrement
<h3 id="Постфиксный_декремент">Постфиксный декремент</h3>
-<pre class="brush: js notranslate">let x = 3;
+<pre class="brush: js">let x = 3;
y = x--;
// y = 3
@@ -40,7 +40,7 @@ y = x--;
<h3 id="Префиксный_декремент">Префиксный декремент</h3>
-<pre class="brush: js notranslate">let a = 2;
+<pre class="brush: js">let a = 2;
b = --a;
// a = 1
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 f31321b93a..a6bfca160a 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
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"><var>leftExpr</var> ?? <var>rightExpr</var>
+<pre class="syntaxbox"><var>leftExpr</var> ?? <var>rightExpr</var>
</pre>
<h2 id="Примеры">Примеры</h2>
@@ -25,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
<p>В этом примере показано как устанавливать значения по умолчанию, оставив в покое значения отличные от <code>null</code> или <code>undefined</code>.</p>
-<pre class="brush: js notranslate">const nullValue = null;
+<pre class="brush: js">const nullValue = null;
const emptyText = ""; // falsy
const someNumber = 42;
@@ -41,14 +41,14 @@ console.log(valC); // 42</pre>
<p>Ранее, для присваивания значения по умолчанию переменной использовался оператор логического ИЛИ (<code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Logical_OR_2">||</a></code>):</p>
-<pre class="brush: js notranslate">let foo;
+<pre class="brush: js">let foo;
// переменной foo никогда не присваивалось значение, поэтому она undefined
let someDummyText = foo || 'Hello!';</pre>
<p>Однако, оператор <code>||</code> это логический оператор, левый операнд которого при сравнении неявно приводится к булевому значению, поэтому любое <em>ложное</em> значение (<code>0</code>, <code>''</code>, <code>NaN</code>, <code>null</code>, <code>undefined</code>) не возвращается. Данное поведение может быть нежелательным если вы рассматриваете <code>0</code>, <code>''</code>, или <code>NaN</code> как корректные значения.</p>
-<pre class="brush: js notranslate">let count = 0;
+<pre class="brush: js">let count = 0;
let text = "";
let qty = count || 42;
@@ -59,7 +59,7 @@ console.log(message); // "hi!" and not ""
<p>Оператор нулевого слияния предотвращает попадание в такую ловушку, возвращая второй операнд если первый оказывается <code>null</code> or <code>undefined</code> (но не любым другим <em>ложным</em> значением):</p>
-<pre class="brush: js notranslate">let myText = ''; // Пустая строка (тоже является ложным значением при приведении к логическому типу)
+<pre class="brush: js">let myText = ''; // Пустая строка (тоже является ложным значением при приведении к логическому типу)
let notFalsyText = myText || 'Hello world';
console.log(notFalsyText); // Hello world
@@ -72,7 +72,7 @@ console.log(preservingFalsy); // '' (так как myText не undefined и не
<p>Так же как при использовании логического И и ИЛИ, правое выражение не вычисляется если найдено подходящее значение в левом.</p>
-<pre class="brush: js notranslate">function A() { console.log('A was called'); return undefined;}
+<pre class="brush: js">function A() { console.log('A was called'); return undefined;}
function B() { console.log('B was called'); return false;}
function C() { console.log('C was called'); return "foo";}
@@ -90,19 +90,19 @@ console.log( B() ?? C() );
<p>Нельзя напрямую объединять И (<code>&amp;&amp;</code>) и ИЛИ (<code>||</code>) операторы с <code>??</code>. При таком выражении будет выброшен <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a></code>.</p>
-<pre class="brush: js example-bad notranslate">null || undefined ?? "foo"; // выбрасывает SyntaxError
+<pre class="brush: js example-bad">null || undefined ?? "foo"; // выбрасывает SyntaxError
true || undefined ?? "foo"; // выбрасывает SyntaxError</pre>
<p>Однако, при заключении в скобки выражение является корректным:</p>
-<pre class="brush: js example-good notranslate">(null || undefined) ?? "foo"; // returns "foo"
+<pre class="brush: js example-good">(null || undefined) ?? "foo"; // returns "foo"
</pre>
<h3 id="Отношение_к_оператору_опциональной_последовательности_.">Отношение к оператору опциональной последовательности (<code>?.</code>)</h3>
<p>Оператор нулевого слияния определяет <code>undefined</code> и <code>null</code> как специальные значения так же как и <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Optional_chaining">оператор опциональной последовательности (<code>?.</code>)</a>, который используется для доступа к свойствам объекта, значение которого может быть <code>null</code> или <code>undefined</code>.</p>
-<pre class="brush: js notranslate">let foo = { someFooProp: "hi" };
+<pre class="brush: js">let foo = { someFooProp: "hi" };
console.log(foo.someFooProp?.toUpperCase()); // "HI"
console.log(foo.someBarProp?.toUpperCase()); // undefined
diff --git a/files/ru/web/javascript/reference/operators/operator_precedence/index.html b/files/ru/web/javascript/reference/operators/operator_precedence/index.html
index 81ac025747..2de7b65912 100644
--- a/files/ru/web/javascript/reference/operators/operator_precedence/index.html
+++ b/files/ru/web/javascript/reference/operators/operator_precedence/index.html
@@ -20,19 +20,19 @@ translation_of: Web/JavaScript/Reference/Operators/Operator_Precedence
<p>Ассоциативность определяет порядок, в котором обрабатываются операторы с одинаковым приоритетом. Например, рассмотрим выражение:</p>
-<pre class="syntaxbox notranslate">a OP b OP c
+<pre class="syntaxbox">a OP b OP c
</pre>
<p>Левая ассоциативность (слева направо) означает, что оно обрабатывается как <code>(a OP b) OP c</code>, в то время как правая ассоциативность (справа налево) означает, что они интерпретируются как <code>a OP (b OP c)</code>. Операторы присваивания являются право-ассоциативными, так что вы можете написать:</p>
-<pre class="brush: js notranslate">a = b = 5;
+<pre class="brush: js">a = b = 5;
</pre>
<p>с ожидаемым результатом, что <code>a</code> и <code>b</code> будут равны 5. Это происходит, потому что оператор присваивания возвращает тот результат, который присваивает. Сначала <code>b</code> становится равным 5, затем <code>a</code> принимает значение <code>b</code>.</p>
<h2 id="Примеры">Примеры</h2>
-<pre class="brush: js notranslate"><code>3 &gt; 2 &amp;&amp; 2 &gt; 1
+<pre class="brush: js"><code>3 &gt; 2 &amp;&amp; 2 &gt; 1
// вернёт true
3 &gt; 2 &gt; 1
diff --git a/files/ru/web/javascript/reference/operators/property_accessors/index.html b/files/ru/web/javascript/reference/operators/property_accessors/index.html
index 938833a348..005cef9b49 100644
--- a/files/ru/web/javascript/reference/operators/property_accessors/index.html
+++ b/files/ru/web/javascript/reference/operators/property_accessors/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Operators/Property_Accessors
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">object.property
+<pre class="syntaxbox">object.property
object["property"]
</pre>
@@ -27,12 +27,12 @@ object["property"]
<p class="brush: js">В записи <code>object.property</code>, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">property</span></font> должно быть действительным <a href="/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/Identifier">идентификатором</a>. (В стандарте ECMAScript, имена свойств технически называются "IdentifierNames", а не "Identifiers", поэтому зарезервированные слова могут быть использованы в их качестве, но это не рекомендуется). Например, <code>object.$1</code> является верной записью, а <code>object.1</code> - нет.</p>
-<pre class="brush: js notranslate">const variable = <var>object</var>.<var>property_name;</var>
+<pre class="brush: js">const variable = <var>object</var>.<var>property_name;</var>
<var>object</var>.<var>property_name</var> = value;
</pre>
-<pre class="brush: js notranslate">const object = {};
+<pre class="brush: js">const object = {};
object.$1 = 'foo';
console.log(object.$1); // 'foo'
@@ -42,11 +42,11 @@ console.log(object.1); // SyntaxError</pre>
<p>Здесь метод с именем <code>createElement</code> считывается с объекта <code>document</code> и вызывается.</p>
-<pre class="brush: js notranslate">document.createElement('pre')</pre>
+<pre class="brush: js">document.createElement('pre')</pre>
<p>Если вы хотите вызвать метод на численном литерале, не имеющий части с экспонентой или точки, отделяющей дробную часть, нужно ставить пробел перед точкой, являющейся частью обращения к этому методу, чтобы интерпретатор не посчитал, что это точка отделяет дробную часть числа (или использовать другие способы этого избежать).</p>
-<pre class="brush: js notranslate">// SyntaxError, здесь считается, что 77. это число,
+<pre class="brush: js">// SyntaxError, здесь считается, что 77. это число,
// поэтому такая запись эквивалентна (77.)toExponentional()
// что является ошибкой
77.toExponentional()
@@ -65,29 +65,29 @@ console.log(object.1); // SyntaxError</pre>
<p class="brush: js">В записи <code>object[property_name]</code>, <em><code>property_name</code> - </em>это выражение, вычисляющееся в строку или <a href="/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/Symbol">символ</a>. Это может быть любая строка, не обязательно действительный идентификатор, например <code>'1foo'</code>, '<code>!bar!'</code> или даже <code>' '</code> (пробел).</p>
-<pre class="brush: js notranslate">const variable = object[property_name]
+<pre class="brush: js">const variable = object[property_name]
object[property_name] = value</pre>
<p>Пример, аналогичный примеру в предыдущем пункте:</p>
-<pre class="brush: js notranslate">document['createElement']('pre');
+<pre class="brush: js">document['createElement']('pre');
</pre>
<p>Пробел перед скобкой допускается:</p>
-<pre class="brush: js notranslate">document ['createElement']('pre')</pre>
+<pre class="brush: js">document ['createElement']('pre')</pre>
<h3 id="Имена_свойств">Имена свойств</h3>
<p>Имена свойств могут быть строками или <a href="/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/Symbol">символами</a>. Любое другое значение приводится к строке. Следующий код выводит <code>'value'</code>, поскольку число <code>1</code> приводится к строке <code>'1'</code>.</p>
-<pre class="brush: js notranslate">const object = {}
+<pre class="brush: js">const object = {}
object['1'] = 'value'
console.log(object[1])</pre>
<p>Этот пример также выводит <code>'value',</code> так как и <code>foo</code>, и <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">bar</span></font> приводятся к одной и той же строке.</p>
-<pre class="brush: js notranslate">const foo = {unique_prop: 1}
+<pre class="brush: js">const foo = {unique_prop: 1}
const bar = {unique_prop: 2}
const object = {}
@@ -109,12 +109,12 @@ console.log(object[bar]);
<p>Например, следующий синтаксис можно часто увидеть в скриптах.</p>
-<pre class="brush: js notranslate">x = eval('document.forms.form_name.elements.' + strFormControl + '.value');
+<pre class="brush: js">x = eval('document.forms.form_name.elements.' + strFormControl + '.value');
</pre>
<p>Функция <code>eval()</code> очень медленная и её использования следует избегать, когда это возможно. Кроме того, строка <code>strFormControl</code> при таком использовании обязаны содержать действительный идентификатор, что не является обязательным для <code>id</code> полей формы, то есть, например, поле с id <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">1</span></font> не получится получить такой записью. Лучше вместо этого использовать скобочную запись:</p>
-<pre class="brush: js notranslate">x = document.forms["form_name"].elements[strFormControl].value;
+<pre class="brush: js">x = document.forms["form_name"].elements[strFormControl].value;
</pre>
<h2 id="Спецификации">Спецификации</h2>
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 1019bdd757..5eb3e561d9 100644
--- a/files/ru/web/javascript/reference/operators/spread_syntax/index.html
+++ b/files/ru/web/javascript/reference/operators/spread_syntax/index.html
@@ -21,16 +21,16 @@ translation_of: Web/JavaScript/Reference/Operators/Spread_syntax
<p>Для вызовов функций:</p>
-<pre class="syntaxbox notranslate">myFunction(...iterableObj);
+<pre class="syntaxbox">myFunction(...iterableObj);
</pre>
<p>Для литералов массива или строк:</p>
-<pre class="syntaxbox notranslate">[...iterableObj, '4', 'five', 6];</pre>
+<pre class="syntaxbox">[...iterableObj, '4', 'five', 6];</pre>
<p>Для литералов объекта (новое в ECMAScript 2018):</p>
-<pre class="syntaxbox notranslate">let objClone = { ...obj };</pre>
+<pre class="syntaxbox">let objClone = { ...obj };</pre>
<h2 id="Примеры">Примеры</h2>
@@ -40,19 +40,19 @@ translation_of: Web/JavaScript/Reference/Operators/Spread_syntax
<p>Обычно используют {{jsxref( "Function.prototype.apply")}} в случаях, когда хотят использовать элементы массива в качестве аргументов функции.</p>
-<pre class="brush: js notranslate">function myFunction(x, y, z) { }
+<pre class="brush: js">function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction.apply(null, args);</pre>
<p>С <strong>spread syntax</strong> вышеприведённое можно записать как:</p>
-<pre class="brush: js notranslate">function myFunction(x, y, z) { }
+<pre class="brush: js">function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args);</pre>
<p>Любой аргумент в списке аргументов может использовать <strong>spread syntax</strong>, и его можно использовать несколько раз.</p>
-<pre class="brush: js notranslate">function myFunction(v, w, x, y, z) { }
+<pre class="brush: js">function myFunction(v, w, x, y, z) { }
var args = [0, 1];
myFunction(-1, ...args, 2, ...[3]);</pre>
@@ -60,13 +60,13 @@ myFunction(-1, ...args, 2, ...[3]);</pre>
<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
+<pre class="brush: js">var dateFields = [1970, 0, 1]; // 1 Jan 1970
var d = new Date(...dateFields);
</pre>
<p>Чтобы использовать <code>new</code> с массивом параметров без spread syntax, вам потребуется использование частичного применения:</p>
-<pre class="brush: js notranslate">function applyAndNew(constructor, args) {
+<pre class="brush: js">function applyAndNew(constructor, args) {
   function partial () {
    return constructor.apply(this, args);
   };
@@ -98,7 +98,7 @@ console.log(new myConstructorWithArguments);
<p>Без spread syntax, применение синтаксиса литерала массива для создания нового массива на основе существующего недостаточно и требуется императивный код вместо комбинации методов <code>push</code>, <code>splice</code>, <code>concat</code> и т.д. С spread syntax реализация становится гораздо более лаконичной:</p>
-<pre class="brush: js notranslate">var parts = ['shoulders', 'knees'];
+<pre class="brush: js">var parts = ['shoulders', 'knees'];
var lyrics = ['head', ...parts, 'and', 'toes'];
// ["head", "shoulders", "knees", "and", "toes"]
</pre>
@@ -107,7 +107,7 @@ var lyrics = ['head', ...parts, 'and', 'toes'];
<h4 id="Копирование_массива">Копирование массива</h4>
-<pre class="brush: js notranslate">var arr = [1, 2, 3];
+<pre class="brush: js">var arr = [1, 2, 3];
var arr2 = [...arr]; // like arr.slice()
arr2.push(4);
@@ -117,7 +117,7 @@ arr2.push(4);
<p><strong>Примечание:</strong> Spread syntax на самом деле переходит лишь на один уровень глубже при копировании массива. Таким образом, он может не подходить для копирования многоразмерных массивов, как показывает следующий пример: (также как и c {{jsxref("Object.assign()")}}) и синтаксис spred </p>
-<pre class="brush: js notranslate">const a = [[1], [2], [3]];
+<pre class="brush: js">const a = [[1], [2], [3]];
const b = [...a];
b.shift().shift(); // 1
// О нет. Теперь на массив "а" относятся также: а
@@ -128,28 +128,28 @@ b.shift().shift(); // 1
<p>Для конкатенации массива часто используется {{jsxref("Array.concat")}}:</p>
-<pre class="brush: js notranslate">var arr1 = [0, 1, 2];
+<pre class="brush: js">var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
// Append all items from arr2 onto arr1
arr1 = arr1.concat(arr2);</pre>
<p>С использованием spread syntax:</p>
-<pre class="brush: js notranslate">var arr1 = [0, 1, 2];
+<pre class="brush: js">var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1 = [...arr1, ...arr2];
</pre>
<p>{{jsxref("Array.unshift")}} часто используется для вставки массива значений в начало существующего массива. Без spread syntax:</p>
-<pre class="brush: js notranslate">var arr1 = [0, 1, 2];
+<pre class="brush: js">var arr1 = [0, 1, 2];
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>
-<pre class="brush: js notranslate">var arr1 = [0, 1, 2];
+<pre class="brush: js">var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1 = [...arr2, ...arr1]; // arr1 is now [3, 4, 5, 0, 1, 2]
</pre>
@@ -160,7 +160,7 @@ arr1 = [...arr2, ...arr1]; // arr1 is now [3, 4, 5, 0, 1, 2]
<p>Поверхностное копирование (без прототипа) или объединение объектов теперь возможно с использованием более короткого, чем {{jsxref("Object.assign()")}}, синтаксиса.</p>
-<pre class="brush: js notranslate">var obj1 = { foo: 'bar', x: 42 };
+<pre class="brush: js">var obj1 = { foo: 'bar', x: 42 };
var obj2 = { foo: 'baz', y: 13 };
var clonedObj = { ...obj1 };
@@ -173,7 +173,7 @@ var mergedObj = { ...obj1, ...obj2 };
<p>Обратите внимание, что вы не можете заменить или имитировать функцию {{jsxref("Object.assign()")}}:</p>
-<pre class="brush: js notranslate">var obj1 = { foo: 'bar', x: 42 };
+<pre class="brush: js">var obj1 = { foo: 'bar', x: 42 };
var obj2 = { foo: 'baz', y: 13 };
const merge = ( ...objects ) =&gt; ( { ...objects } );
@@ -189,7 +189,7 @@ var mergedObj = merge ( {}, obj1, obj2);
<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'};
+<pre class="brush: js">var obj = {'key1': 'value1'};
var array = [...obj]; // TypeError: obj is not iterable
</pre>
diff --git a/files/ru/web/javascript/reference/operators/yield/index.html b/files/ru/web/javascript/reference/operators/yield/index.html
index d30b1bbce5..34f3245f4d 100644
--- a/files/ru/web/javascript/reference/operators/yield/index.html
+++ b/files/ru/web/javascript/reference/operators/yield/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield
<h2 id="Syntax">Синтаксис</h2>
-<pre class="syntaxbox language-html notranslate"> [<em>rv</em>] = <strong>yield</strong> [[выражение]];</pre>
+<pre class="syntaxbox language-html"> [<em>rv</em>] = <strong>yield</strong> [[выражение]];</pre>
<dl>
<dt><code>выражение</code></dt>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield
<p>Следующий фрагмент кода содержит определение функции-генератора и вспомогательной функции:</p>
-<pre class="brush: js notranslate">function* foo(){
+<pre class="brush: js">function* foo(){
var index = 0;
while(index &lt;= 2) // при достижении 2, done в yield станет true, а value undefined;
yield index++;
@@ -47,7 +47,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield
<p>После того как тело функции-генератора определено, оно может использоваться для получения итератора:</p>
-<pre class="brush: js notranslate">var iterator = foo();
+<pre class="brush: js">var iterator = foo();
console.log(iterator.next()); // { value:0, done:false }
console.log(iterator.next()); // { value:1, done:false }
console.log(iterator.next()); // { value:2, done:false }
diff --git a/files/ru/web/javascript/reference/operators/yield_star_/index.html b/files/ru/web/javascript/reference/operators/yield_star_/index.html
index 003e027d0e..1b1da5bd17 100644
--- a/files/ru/web/javascript/reference/operators/yield_star_/index.html
+++ b/files/ru/web/javascript/reference/operators/yield_star_/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield*
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate"> yield* [[expression]];</pre>
+<pre class="syntaxbox"> yield* [[expression]];</pre>
<dl>
<dt><code>expression</code></dt>
@@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield*
<p>В следующем примере, значения полученные из <code>g1()</code> возвращаются из <code>g2</code> вызовами <code>next</code>, как будто бы она вычислила их сама.</p>
-<pre class="brush: js notranslate">function* g1() {
+<pre class="brush: js">function* g1() {
yield 2;
yield 3;
yield 4;
@@ -54,7 +54,7 @@ console.log(iterator.next()); // { value: undefined, done: true }
<p>Помимо объектов генераторов, <code>yield*</code> может перебирать другие виды итерируемых объектов, т.е. массивы, строки, объекты аргументов и др.</p>
-<pre class="brush: js notranslate">function* g3() {
+<pre class="brush: js">function* g3() {
yield* [1, 2];
yield* "34";
yield* Array.from(arguments);
@@ -106,7 +106,7 @@ class PowersOfTwo {
<p><code>yield*</code> - это выражение, а не оператор, поэтому оно имеет значение, равное последнему значению итератора </p>
-<pre class="brush: js notranslate">function* g4() {
+<pre class="brush: js">function* g4() {
yield* [1, 2, 3];
return "foo";
}
@@ -162,7 +162,7 @@ console.log(result); // "foo"
<li>Начиная с Gecko 33 {{geckoRelease(33)}}, разбор выражений yield было приведено к соответствию с последними спецификациями ES6 ({{bug(981599)}}):
<ul>
<li>Реализована корректная обработка разрыва строки. Разрыва строки между "yield" и "*" быть не может. Такой код вызовет {{jsxref("SyntaxError")}}:
- <pre class="brush: js notranslate">function* foo() {
+ <pre class="brush: js">function* foo() {
yield
*[];
}</pre>
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 7e07f940cf..d46b1039e3 100644
--- a/files/ru/web/javascript/reference/statements/async_function/index.html
+++ b/files/ru/web/javascript/reference/statements/async_function/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Statements/async_function
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">async function <em>name</em>([<em>param</em>[, <em>param</em>[, ... <em>param</em>]]]) {
+<pre class="syntaxbox">async function <em>name</em>([<em>param</em>[, <em>param</em>[, ... <em>param</em>]]]) {
<em>statements</em>
}
</pre>
@@ -49,7 +49,7 @@ translation_of: Web/JavaScript/Reference/Statements/async_function
<h3 id="Простой_пример">Простой пример</h3>
-<pre class="brush: js notranslate">function resolveAfter2Seconds(x) {
+<pre class="brush: js">function resolveAfter2Seconds(x) {
return new Promise(resolve =&gt; {
setTimeout(() =&gt; {
resolve(x);
@@ -86,7 +86,7 @@ add2(10).then(v =&gt; {
<h3 id="Когда_функция_async_выбрасывает_исключение">Когда функция <code>async </code>выбрасывает исключение</h3>
-<pre class="brush: js notranslate">async function throwsValue() {
+<pre class="brush: js">async function throwsValue() {
throw new Error('oops');
}
throwsValue()
@@ -112,7 +112,7 @@ throwsValue()
<p>API, которое возвращает {{jsxref("Promise")}}, будет возвращать значение в цепочке, тем самым разбивая функцию на много частей. Рассматривая следующий код:</p>
-<pre class="brush: js notranslate">function getProcessedData(url) {
+<pre class="brush: js">function getProcessedData(url) {
return downloadData(url) // returns a promise
.catch(e =&gt; {
return downloadFallbackData(url) // returns a promise
@@ -125,7 +125,7 @@ throwsValue()
<p>он может быть переписан с одним использованием функции <code>async</code>:</p>
-<pre class="brush: js notranslate">async function getProcessedData(url) {
+<pre class="brush: js">async function getProcessedData(url) {
let v;
try {
v = await downloadData(url);
diff --git a/files/ru/web/javascript/reference/statements/class/index.html b/files/ru/web/javascript/reference/statements/class/index.html
index f2caebe0fe..e0c1dbd9f2 100644
--- a/files/ru/web/javascript/reference/statements/class/index.html
+++ b/files/ru/web/javascript/reference/statements/class/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Statements/class
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="brush: js notranslate">class <em>name</em> [extends] {
+<pre class="brush: js">class <em>name</em> [extends] {
// тело класса
}
</pre>
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Statements/class
<p>В следующем примере сначала определяется класс с именем Polygon, затем он наследуется для создания класса Square. Заметьте, что super(), используемый в конструкторе, может быть использован только в конструкторе и должен быть вызван до того, как будет использовано ключевое слово this.</p>
-<pre class="brush: js notranslate">class Polygon {
+<pre class="brush: js">class Polygon {
constructor(height, width) {
this.name = 'Polygon';
this.height = height;
@@ -50,13 +50,13 @@ class Square extends Polygon {
<p>Переопределение класса с помощью class declaration вызовет ошибку типа.</p>
-<pre class="brush: js notranslate">class Foo {};
+<pre class="brush: js">class Foo {};
class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared
</pre>
<p>Та же ошибка будет вызвана, если класс был определён перед использованием class declaration.</p>
-<pre class="brush: js notranslate">var Foo = class {};
+<pre class="brush: js">var Foo = class {};
class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared
</pre>
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 5d056de8c4..7641d14bad 100644
--- a/files/ru/web/javascript/reference/statements/for...of/index.html
+++ b/files/ru/web/javascript/reference/statements/for...of/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...of
<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox notranslate">for (<em>variable</em> of <em>iterable</em>) {
+<pre class="syntaxbox">for (<em>variable</em> of <em>iterable</em>) {
<em>statement</em>
}
</pre>
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...of
<h3 id="Обход_jsxrefArray">Обход {{jsxref("Array")}}</h3>
-<pre class="notranslate"><code>let iterable = [10, 20, 30];
+<pre><code>let iterable = [10, 20, 30];
for (let value of iterable) {
value += 1;
@@ -44,7 +44,7 @@ for (let value of iterable) {
<p>Можно также использовать <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const"><code>const</code></a> вместо <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let"><code>let</code></a>, если не нужно переназначать переменные внутри блока.</p>
-<pre class="notranslate"><code>let iterable = [10, 20, 30];
+<pre><code>let iterable = [10, 20, 30];
for (const value of iterable) {
console.log(value);
@@ -55,7 +55,7 @@ for (const value of iterable) {
<h3 id="Обход_jsxrefString">Обход {{jsxref("String")}}</h3>
-<pre class="notranslate"><code>let iterable = 'boo';
+<pre><code>let iterable = 'boo';
for (let value of iterable) {
console.log(value);
@@ -66,7 +66,7 @@ for (let value of iterable) {
<h3 id="Обход_jsxrefTypedArray">Обход {{jsxref("TypedArray")}}</h3>
-<pre class="notranslate"><code>let iterable = new Uint8Array([0x00, 0xff]);
+<pre><code>let iterable = new Uint8Array([0x00, 0xff]);
for (let value of iterable) {
console.log(value);
@@ -76,7 +76,7 @@ for (let value of iterable) {
<h3 id="Обход_jsxrefMap">Обход {{jsxref("Map")}}</h3>
-<pre class="notranslate"><code>let iterable = new Map([['a', 1], ['b', 2], ['c', 3]]);
+<pre><code>let iterable = new Map([['a', 1], ['b', 2], ['c', 3]]);
for (let entry of iterable) {
console.log(entry);
@@ -94,7 +94,7 @@ for (let [key, value] of iterable) {
<h3 id="Обход_jsxrefSet">Обход {{jsxref("Set")}}</h3>
-<pre class="notranslate"><code>let iterable = new Set([1, 1, 2, 2, 3, 3]);
+<pre><code>let iterable = new Set([1, 1, 2, 2, 3, 3]);
for (let value of iterable) {
console.log(value);
@@ -105,7 +105,7 @@ for (let value of iterable) {
<h3 id="Обход_объекта_jsxrefarguments">Обход объекта {{jsxref("arguments")}} </h3>
-<pre class="notranslate"><code>(function() {
+<pre><code>(function() {
for (let argument of arguments) {
console.log(argument);
}
@@ -119,7 +119,7 @@ for (let value of iterable) {
<p>Обход DOM коллекций наподобие {{domxref("NodeList")}}: следующий пример добавляет класс <code>read</code> параграфам, являющимся непосредственными потомками статей:</p>
-<pre class="notranslate"><code>// Примечание: работает только на платформах, где
+<pre><code>// Примечание: работает только на платформах, где
// реализован NodeList.prototype[Symbol.iterator]
let articleParagraphs = document.querySelectorAll('article &gt; p');
@@ -131,7 +131,7 @@ for (let paragraph of articleParagraphs) {
<p>В циклах <code>for...of</code>  аварийный выход осуществляется через <code>break</code>, <code>throw</code> или <code>return</code>. Во всех вариантах итератор завершается.</p>
-<pre class="notranslate"><code>function* foo(){
+<pre><code>function* foo(){
yield 1;
yield 2;
yield 3;
@@ -147,7 +147,7 @@ for (let o of foo()) {
<p>Вы можете выполнять обход <a href="/en-US/docs/Web/JavaScript/Reference/Statements/function*">генераторов</a>, вот пример:</p>
-<pre class="brush:js notranslate">function* fibonacci() { // функция-генератор
+<pre class="brush:js">function* fibonacci() { // функция-генератор
let [prev, curr] = [0, 1];
for (;;) {
[prev, curr] = [curr, prev + curr];
@@ -167,7 +167,7 @@ for (let n of fibonacci()) {
<p>Генераторы нельзя использовать дважды, даже если цикл <code>for...of </code> завершится аварийно, например, через оператор {{jsxref("Statements/break", "break")}} . При выходе из цикла генератор завершается, и любые попытки получить из него значение обречены.</p>
-<pre class="brush: js example-bad notranslate"><code>var gen = (function *(){
+<pre class="brush: js example-bad"><code>var gen = (function *(){
yield 1;
yield 2;
yield 3;
@@ -186,7 +186,7 @@ for (let o of gen) {
<p>Кроме того, можно сделать обход объекта, явно реализующего <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable">iterable</a>:</p>
-<pre class="notranslate"><code>var iterable = {
+<pre><code>var iterable = {
[Symbol.iterator]() {
return {
i: 0,
@@ -217,7 +217,7 @@ for (var value of iterable) {
<p>Следующий пример показывает различия в работе циклов <code>for...of</code> и <code>for...in</code> при обходе {{jsxref("Array")}}.</p>
-<pre class="notranslate"><code>Object.prototype.objCustom = function() {};
+<pre><code>Object.prototype.objCustom = function() {};
Array.prototype.arrCustom = function() {};
let iterable = [3, 5, 7];
@@ -239,7 +239,7 @@ for (let i of iterable) {
<p>Разберёмся шаг за шагом в вышеописанном коде.</p>
-<pre class="notranslate"><code>Object.prototype.objCustom = function() {};
+<pre><code>Object.prototype.objCustom = function() {};
Array.prototype.arrCustom = function() {};
let iterable = [3, 5, 7];
@@ -247,13 +247,13 @@ iterable.foo = 'hello';</code></pre>
<p>Каждый объект унаследует метод <code>objCustom</code> и каждый массив {{jsxref("Array")}} унаследует метод <code>arrCustom</code> благодаря созданию их в {{jsxref("Object.prototype")}} и {{jsxref("Array.prototype")}}. Объект <code>iterable</code> унаследует методы <code>objCustom</code> и <code>arrCustom</code> из-за <a href="/ru/docs/Web/JavaScript/Inheritance_and_the_prototype_chain">наследования через прототип</a>.</p>
-<pre class="notranslate"><code>for (let i in iterable) {
+<pre><code>for (let i in iterable) {
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>
-<pre class="notranslate"><code>for (let i in iterable) {
+<pre><code>for (let i in iterable) {
if (iterable.hasOwnProperty(i)) {
console.log(i); // выведет 0, 1, 2, "foo"
}
@@ -261,7 +261,7 @@ iterable.foo = 'hello';</code></pre>
<p>Цикл аналогичен предыдущему, но использует {{jsxref("Object.prototype.hasOwnProperty()", "hasOwnProperty()")}} для проверки того, собственное ли это свойство объекта или унаследованное. Выводятся только собственные свойства. Имена <code>0</code>, <code>1</code>, <code>2</code> и <code>foo</code> принадлежат только экземпляру объекта (<strong>не унаследованы</strong>). Методы <code>arrCustom</code> и <code>objCustom</code> не выводятся, поскольку они <strong>унаследованы</strong>.</p>
-<pre class="notranslate"><code>for (let i of iterable) {
+<pre><code>for (let i of iterable) {
console.log(i); // выведет 3, 5, 7
}</code></pre>