From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 27 Oct 2021 02:31:24 +0300 Subject: [RU] Remove notranslate (#2874) --- .../reference/global_objects/array/flat/index.html | 14 +++++++------- .../reference/global_objects/array/map/index.html | 16 ++++++++-------- .../global_objects/array/slice/index.html | 14 +++++++------- .../reference/global_objects/array/sort/index.html | 20 ++++++++++---------- .../global_objects/array/splice/index.html | 16 ++++++++-------- .../global_objects/bigint/asuintn/index.html | 4 ++-- .../global_objects/date/getdate/index.html | 4 ++-- .../global_objects/date/getday/index.html | 6 +++--- .../global_objects/date/getfullyear/index.html | 4 ++-- .../global_objects/date/gethours/index.html | 4 ++-- .../global_objects/date/getmilliseconds/index.html | 4 ++-- .../global_objects/date/getminutes/index.html | 4 ++-- .../global_objects/date/getmonth/index.html | 4 ++-- .../global_objects/date/getseconds/index.html | 4 ++-- .../global_objects/date/gettime/index.html | 6 +++--- .../reference/global_objects/date/index.html | 14 +++++++------- .../reference/global_objects/eval/index.html | 22 +++++++++++----------- .../reference/global_objects/generator/index.html | 4 ++-- .../global_objects/intl/datetimeformat/index.html | 8 ++++---- .../global_objects/number/issafeinteger/index.html | 6 +++--- .../global_objects/number/toexponential/index.html | 4 ++-- .../global_objects/number/tofixed/index.html | 4 ++-- .../global_objects/number/toprecision/index.html | 4 ++-- .../global_objects/number/tostring/index.html | 4 ++-- .../global_objects/object/create/index.html | 10 +++++----- .../global_objects/object/entries/index.html | 10 +++++----- .../global_objects/promise/then/index.html | 10 +++++----- .../reference/global_objects/proxy/index.html | 18 +++++++++--------- .../global_objects/proxy/proxy/apply/index.html | 4 ++-- .../global_objects/proxy/proxy/get/index.html | 6 +++--- .../global_objects/proxy/proxy/index.html | 4 ++-- .../global_objects/proxy/proxy/set/index.html | 4 ++-- .../reference/global_objects/reflect/index.html | 6 +++--- .../reference/global_objects/regexp/index.html | 22 +++++++++++----------- .../global_objects/regexp/lastmatch/index.html | 4 ++-- .../reference/global_objects/set/set/index.html | 4 ++-- .../global_objects/string/@@iterator/index.html | 6 +++--- .../global_objects/string/endswith/index.html | 6 +++--- .../reference/global_objects/string/index.html | 22 +++++++++++----------- .../global_objects/string/matchall/index.html | 10 +++++----- .../global_objects/string/replaceall/index.html | 8 ++++---- .../global_objects/string/slice/index.html | 12 ++++++------ .../global_objects/string/split/index.html | 20 ++++++++++---------- .../global_objects/string/startswith/index.html | 6 +++--- .../reference/global_objects/weakmap/index.html | 6 +++--- 45 files changed, 196 insertions(+), 196 deletions(-) (limited to 'files/ru/web/javascript/reference/global_objects') 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

Синтаксис

-
var newArray = arr.flat(depth);
+
var newArray = arr.flat(depth);

Параметры

@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat

Упрощение вложенных массивов

-
var arr1 = [1, 2, [3, 4]];
+
var arr1 = [1, 2, [3, 4]];
 arr1.flat();
 // [1, 2, 3, 4]
 
@@ -57,7 +57,7 @@ arr4.flat(Infinity);
 
 

Метод flat удаляет пустые слоты из массива:

-
var arr4 = [1, 2, , 4, 5];
+
var arr4 = [1, 2, , 4, 5];
 arr4.flat();
 // [1, 2, 4, 5]
 
@@ -66,7 +66,7 @@ arr4.flat();

reduce и concat

-
var arr1 = [1, 2, [3, 4]];
+
var arr1 = [1, 2, [3, 4]];
 arr1.flat();
 
 // В одномерный массив
@@ -76,7 +76,7 @@ arr1.reduce((acc, val) => acc.concat(val), []);// [1, 2, 3, 4]
 const flatSingle = arr => [].concat(...arr);
 
-
// Для развёртывания многомерных массивов используем рекурсию, reduce и concat
+
// Для развёртывания многомерных массивов используем рекурсию, 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]
-
//не рекурсивное упрощение с использованием стэка
+
//не рекурсивное упрощение с использованием стэка
 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]
 
-
//рекурсивно упрощаем массив
+
//рекурсивно упрощаем массив
 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
 
 

Синтаксис

-
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
+
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
     // Возвращает элемент для new_array
 }[, thisArg])
@@ -69,7 +69,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map

Следующий код берёт массив чисел и создаёт новый массив, содержащий квадратные корни чисел из первого массива.

-
var numbers = [1, 4, 9];
+
var numbers = [1, 4, 9];
 var roots = numbers.map(Math.sqrt);
 // теперь roots равен [1, 2, 3], а numbers всё ещё равен [1, 4, 9]
 
@@ -78,7 +78,7 @@ var roots = numbers.map(Math.sqrt);

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

-
var numbers = [1, 4, 9];
+
var numbers = [1, 4, 9];
 var doubles = numbers.map(function(num) {
   return num * 2;
 });
@@ -89,7 +89,7 @@ var doubles = numbers.map(function(num) {
 
 

Этот пример показывает, как использовать map на объекте строки {{jsxref("Global_Objects/String", "String")}} для получения массива байт в кодировке ASCII, представляющего значения символов:

-
var map = Array.prototype.map;
+
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]
 
@@ -98,7 +98,7 @@ var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });

Этот пример показывает, как пройтись по коллекции объектов, собранных с помощью querySelectorAll. В данном случае мы получаем все выбранные опции на экране и печатаем их в консоль:

-
var elems = document.querySelectorAll('select option:checked');
+
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) {
 
 

Пример: использование map для переворачивания строки

-
var str = '12345';
+
var str = '12345';
 [].map.call(str, function(x) {
   return x;
 }).reverse().join('');
@@ -125,7 +125,7 @@ var values = [].map.call(elems, function(obj) {
 
 

Распространённой практикой является использование колбэк-функции с одним аргументом (элемент, над которым производится операция). Некоторые функции также широко используется с одним аргументом, хотя они принимают дополнительные необязательные аргументы. Эти привычки могут привести к неожиданному поведению программы.

-
// Рассмотрим пример:
+
// Рассмотрим пример:
 ['1', '2', '3'].map(parseInt);
 // Хотя ожидаемый результат вызова равен [1, 2, 3],
 // в действительности получаем [1, NaN, NaN]
@@ -152,7 +152,7 @@ function returnInt(element) {
 
 

Метод map был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать map в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}} и {{jsxref("Global_Objects/Array", "Array")}} имеют свои первоначальные значения и что callback.call вычисляется в оригинальное значение {{jsxref("Function.prototype.call")}}.

-
// Шаги алгоритма ECMA-262, 5-е издание, 15.4.4.19
+
// Шаги алгоритма 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
 
 

Синтаксис

-
arr.slice([begin[, end]])
+
arr.slice([begin[, end]])

Параметры

@@ -56,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice

Пример: возврат части существующего массива

-
// Пример: наши хорошие друзья цитрусовые среди фруктов
+
// Пример: наши хорошие друзья цитрусовые среди фруктов
 var fruits = ['Банан', 'Апельсин', 'Лимон', 'Яблоко', 'Манго'];
 var citrus = fruits.slice(1, 3);
 
@@ -67,7 +67,7 @@ var citrus = fruits.slice(1, 3);
 
 

В следующем примере метод slice() создаёт новый массив, newCar, из массива myCar. Оба содержат ссылку на объект myHonda. Когда цвет в объекте myHonda изменяется на багровый, оба массива замечают это изменение.

-
// Используя slice, создаём newCar из myCar.
+
// Используя 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);
 
 

Этот скрипт выведет:

-
myCar = [{color:'красный', wheels:4, engine:{cylinders:4, size:2.2}}, 2,
+
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 = багровый
 
 

Метод slice() также может использоваться для преобразования массивоподобных объектов / коллекций в новый массив Array. Вам просто нужно привязать метод к объекту. Псевдомассив {{jsxref("Functions_and_function_scope/arguments", "arguments")}} внутри функции как раз является примером «массивоподобного объекта».

-
function list() {
+
function list() {
   return Array.prototype.slice.call(arguments, 0);
 }
 
@@ -113,7 +113,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
 
 

Привязка может быть осуществлена посредством функции .call() из прототипа функции {{jsxref("Function.prototype")}}, также запись может быть сокращена до [].slice.call(arguments) вместо использования Array.prototype.slice.call(). В любом случае, она может быть упрощена посредством использования функции {{jsxref("Function.prototype.bind()", "bind()")}}.

-
var unboundSlice = Array.prototype.slice;
+
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]
 
 

Хотя спецификация не требует от хост-объектов (например, объектов DOM) следовать поведению Mozilla при преобразовании с помощью Array.prototype.slice() и IE < 9 так не делает, версии IE, начиная с 9-й это умеют. «Прокладывание» позволяет добиться надёжного кросс-браузерного поведения. Пока другие современные браузеры будут поддерживать эту способность, что и делают в настоящее время IE, Mozilla, Chrome, Safari и Opera, разработчики, читая (поддерживающий DOM) код функции slice(), опирающийся на эту прокладку, не будут вводиться в заблуждение его семантикой; они могут смело полагаться на текущую семантику, являющуюся, видимо, де-факто стандартным поведением. (Прокладка также исправляет поведение IE, позволяя работать со вторым аргументом slice(), явно определённым как {{jsxref("Global_Objects/null", "null")}}/{{jsxref("Global_Objects/undefined", "undefined")}}, поскольку более ранние версии IE такое не позволяют, но все современные браузеры, в том числе IE >= 9, поддерживают данное поведение.)

-
/**
+
/**
  * Прокладка для "исправления" отсутствия поддержки в IE < 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
 
 

Синтаксис

-
arr.sort([compareFunction])
+
arr.sort([compareFunction])

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort

Если функция сравнения compareFunction не предоставляется, элементы сортируются путём преобразования их в строки и сравнения строк в порядке следования кодовых точек Unicode. Например, слово "Вишня" идёт перед словом "бананы". При числовой сортировке, 9 идёт перед 80, но поскольку числа преобразуются в строки, то "80" идёт перед "9" в соответствии с порядком в Unicode.

-
var fruit = ['арбузы', 'бананы', 'Вишня'];
+
var fruit = ['арбузы', 'бананы', 'Вишня'];
 fruit.sort(); // ['Вишня', 'арбузы', 'бананы']
 
 var scores = [1, 2, 10, 21];
@@ -56,7 +56,7 @@ things.sort(); // ['1 Слово', '2 Слова', 'Слово', 'слово']
 
 

Итак, функция сравнения имеет следующую форму:

-
function compare(a, b) {
+
function compare(a, b) {
   if (a меньше b по некоторому критерию сортировки) {
     return -1;
   }
@@ -70,14 +70,14 @@ things.sort(); // ['1 Слово', '2 Слова', 'Слово', 'слово']
 
 

Для числового сравнения, вместо строкового, функция сравнения может просто вычитать b из a. Следующая функция будет сортировать массив по возрастанию:

-
function compareNumbers(a, b) {
+
function compareNumbers(a, b) {
   return a - b;
 }
 

Метод sort можно удобно использовать с {{jsxref("Operators/function", "функциональными выражениями", "", 1)}} (и замыканиями):

-
var numbers = [4, 2, 5, 1, 3];
+
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]
 
 

Объекты могут быть отсортированы по значению одного из своих свойств.

-
var items = [
+
var items = [
   { name: 'Edward', value: 21 },
   { name: 'Sharpe', value: 37 },
   { name: 'And', value: 45 },
@@ -112,7 +112,7 @@ items.sort(function (a, b) {
 
 

В следующем примере создаётся четыре массива, сначала отображается первоначальный массив, а затем они сортируются. Числовые массивы сортируются сначала без, а потом с функцией сравнения.

-
var stringArray = ['Голубая', 'Горбатая', 'Белуга'];
+
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
 
 

Этот пример произведёт следующий вывод. Как показывает вывод, когда используется функция сравнения, числа сортируются корректно вне зависимости от того, являются ли они собственно числами или строками с числами.

-
stringArray: Голубая,Горбатая,Белуга
+
stringArray: Голубая,Горбатая,Белуга
 Сортировка: Белуга,Голубая,Горбатая
 
 numberArray: 40,1,5,200
@@ -160,7 +160,7 @@ mixedNumericArray: 80,9,700,40,1,5,200
 
 

Для сортировки строк с не-ASCII символами, то есть строк с символами акцента (e, é, è, a, ä и т.д.), строк, с языками, отличными от английского: используйте {{jsxref("String.localeCompare")}}. Эта функция может сравнивать эти символы, чтобы они становились в правильном порядке.

-
var items = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu'];
+
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) {
 
 

Функция сравнения (compareFunction) может вызываться несколько раз для каждого элемента в массиве. В зависимости от природы функции сравнения, это может привести к высоким расходам ресурсов. Чем более сложна функция сравнения и чем больше элементов требуется отсортировать, тем разумнее использовать map для сортировки. Идея состоит в том, чтобы обойти массив один раз, чтобы извлечь фактические значения, используемые для сортировки, во временный массив, отсортировать временный массив, а затем обойти временный массив для получения правильного порядка.

-
// массив для сортировки
+
// массив для сортировки
 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
 
 

Синтаксис

-
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
+
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
 

Параметры

@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice

Удаляет 0 элементов по индексу 2 и вставляет "drum"

-
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+
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');
 
 

Удаляет 1 элемент по индексу 3

-
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
+
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);
 
 

Удаляет 1 элемент по индексу 2 и вставляет "trumpet"

-
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
+
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');
 
 

Удаляет 2 элемента начиная с индекса 0 и вставляет "parrot", "anemone" и "blue"

-
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
+
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');
 
 

Удаляет 2 элемента начиная с индекса 2

-
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
+
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);
 
 

Удаляет 1 элемент по индексу -2

-
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+
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);
 
 

Удаляет все элементы после индекса 2 (включительно)

-
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+
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
 
 

Syntax

-
BigInt.asUintN(width, bigint);
+
BigInt.asUintN(width, bigint);

Parameters

@@ -34,7 +34,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/asUintN

The BigInt.asUintN() method can be useful to stay in the range of 64-bit arithmetic.

-
const max = 2n ** 64n - 1n;
+
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
 
 

Синтаксис

-
dateObj.getDate()
+
dateObj.getDate()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDate

Вторая инструкция в примере ниже присваивает значение 25 переменной day из значения объекта {{jsxref("Global_Objects/Date", "Date")}} date.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 
 

Синтаксис

-
dateObj.getDay()
+
dateObj.getDay()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay

Вторая инструкция в примере ниже присваивает значение 1 переменной weekday из значения объекта {{jsxref("Global_Objects/Date", "Date")}} date. 25 декабря 1995 года было понедельником.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 

Примечание: При необходимости полное название дня (например, "Понедельник") можно получить, используя {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}} с параметром options parameter. С помощью этого метода упрощается интернационализация:

-
let options = { weekday: 'long'};
+
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
 
 

Синтаксис

-
dateObj.getFullYear()
+
dateObj.getFullYear()

Параметры

@@ -35,7 +35,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getFullYear

В следующем примере переменной year присваивается четырёхзначное значение текущего года.

-
let today = new Date(); // Mon Nov 23 2020 15:23:46 GMT+0300 (Москва, стандартное время)
+
let today = new Date(); // Mon Nov 23 2020 15:23:46 GMT+0300 (Москва, стандартное время)
 let year = today.getFullYear(); // 2020
 
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

Синтаксис

-
dateObj.getHours()
+
dateObj.getHours()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getHours

Вторая инструкция в примере ниже присваивает значение 23 переменной hours из значения объекта {{jsxref("Global_Objects/Date", "Date")}} date.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 
 

Синтаксис

-
dateObj.getMilliseconds()
+
dateObj.getMilliseconds()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds

В следующем примере переменной milliseconds присваиваются миллисекунды текущего времени:

-
let today = new Date();
+
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
 
 

Синтаксис

-
dateObj.getMinutes()
+
dateObj.getMinutes()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMinutes

Вторая инструкция в примере ниже присваивает значение 15 переменной minutes из значения объекта {{jsxref("Global_Objects/Date", "Date")}} date.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 
 

Синтаксис

-
dateObj.getMonth()
+
dateObj.getMonth()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMonth

Вторая инструкция в примере ниже присваивает значение 11 переменной month из значения переменной date объекта {{jsxref("Global_Objects/Date", "Date")}}.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 
 

Синтаксис

-
dateObj.getSeconds()
+
dateObj.getSeconds()

Параметры

@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getSeconds

Вторая инструкция в примере ниже присваивает значение 30 переменной seconds из значения переменной date объекта {{jsxref("Global_Objects/Date", "Date")}}.

-
let date = new Date('December 25, 1995 23:15:30');
+
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
 
 

Синтаксис

-
dateObj.getTime()
+
dateObj.getTime()

Параметры

@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime

Конструирует новый объект даты с идентичным значением времени.

-
let birthday = new Date(2020, 12, 20);
+
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
 
 

Вычитанием двух последовательных вызовов метода getTime() на заново сконструированных объектах {{jsxref("Global_Objects/Date", "Date")}} можно замерить промежуток времени, произошедший между двумя этими вызовами. Это можно использовать для вычисления времени выполнения неких операций.

-
let end, start;
+
let end, start;
 
 start = new Date();
 for (let i = 0; i < 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
 
 

Синтаксис

-
new Date();
+
new Date();
 new Date(value);
 new Date(dateString);
 new Date(year, month[, day[, hour[, minute[, second[, millisecond]]]]]);
@@ -118,7 +118,7 @@ new Date(year, month[, day[, hour[,
 

Обратите внимание: разбор строкового представления дат с помощью конструктора Date (так же как эквивалентный ему метод Date.parse) может иметь различия и несоответствия в браузерах.

-
var today = new Date();
+
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);
 
 

Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использовать методы {{jsxref("Date.prototype.setFullYear()")}} и {{jsxref("Date.prototype.getFullYear()")}}.

-
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+
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)
 
 

Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript:

-
// Используя объекты Date
+
// Используя объекты Date
 var start = Date.now();
 
 // Событие, для которого замеряется время, происходит тут:
@@ -150,7 +150,7 @@ var end = Date.now();
 var elapsed = end - start; // затраченное время в миллисекундах
 
-
// Используя встроенные методы
+
// Используя встроенные методы
 var start = new Date();
 
 // Событие, для которого замеряется время, происходит тут:
@@ -159,7 +159,7 @@ var end = new Date();
 var elapsed = end.getTime() - start.getTime(); // затраченное время в миллисекундах
 
-
// Проверяет функцию и возвращает её возвращаемое значение
+
// Проверяет функцию и возвращает её возвращаемое значение
 function printElapsedTime(fTest) {
   var nStartTime = Date.now(),
       vReturn = fTest(),
@@ -179,7 +179,7 @@ yourFunctionReturn = printElapsedTime(yourFunction);
 
 

Получить количество секунд с начала эпохи Unix

-
var seconds = Math.floor(Date.now() / 1000);
+
var seconds = Math.floor(Date.now() / 1000);

В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует {{jsxref ("Math.floor ()")}} а не {{jsxref ("Math.round ()")}}).

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

Синтаксис

-
eval(string)
+
eval(string)

Параметры

@@ -46,19 +46,19 @@ translation_of: Web/JavaScript/Reference/Global_Objects/eval

Если аргумент, переданный eval(), не является строкой, eval() возвращает его неизменным. В следующем примере определён конструктор String, и eval() не вычисляет значение выражения, записанного в строковом виде, а возвращает объект типа String.

-
eval(new String("2 + 2")); // возвращает объект типа String, содержащий "2 + 2"
+
eval(new String("2 + 2")); // возвращает объект типа String, содержащий "2 + 2"
 eval("2 + 2");             // возвращает 4
 

Это ограничение легко обойти при помощи toString().

-
var expression = new String("2 + 2");
+
var expression = new String("2 + 2");
 eval(expression.toString());
 

Если вы используете eval косвенно, вызовом его через ссылку, а не просто eval, в ECMAScript 5 это работает в глобальной области видимости, а не в локальной; это значит, что eval будет вызван в глобальной области видимости, а код будет выполнен с отсутствием доступа к локальным переменным в пределах области видимости, где он был вызван.

-
function test() {
+
function test() {
   var x = 2, y = 4;
   console.log(eval("x + y"));  // Прямой вызов, использует локальную области видимости, результат - 6
   var geval = eval;
@@ -78,7 +78,7 @@ eval(expression.toString());
 
 

Вам не следует использовать eval(), чтобы конвертировать имена свойств в свойства. Рассматривая следующий пример, где свойство объекта используемое для доступа неизвестно до выполнения кода. Это можно сделать с  eval:

-
var obj = { a: 20, b: 30 };
+
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 );
 
 

Однако, eval() здесь не нужен. По факту, использование здесь его удивляет. Вместо него используйте доступ к свойствам, который быстрее и безопаснее:

-
var obj = { a: 20, b: 30 };
+
var obj = { a: 20, b: 30 };
 var propname = getPropName();  // возвращает "a" или "b"
 var result = obj[ propname ];  //  obj[ "a" ] то же, что и obj.a
 
@@ -95,7 +95,7 @@ var result = obj[ propname ]; // obj[ "a" ] то же, что и obj.a

У JavaScript функции первого класса, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектов и так далее. Многие DOM API созданы с учётом этого, так что вы можете (и вам следует) писать:

-
// вместо setTimeout(" ... ", 1000) :
+
// вместо setTimeout(" ... ", 1000) :
 setTimeout(function() { ... }, 1000);
 
 // вместо elt.setAttribute("onclick", "...") использовать:
@@ -123,7 +123,7 @@ elt.addEventListener("click", function() { ... } , false); 

В следующем коде оба выражения содержат eval(), возвращающий 42. Первое определяется строкой "x + y + 1"; второе - строкой "42".

-
var x = 2;
+
var x = 2;
 var y = 39;
 var z = "42";
 eval("x + y + 1"); // возвращает 42
@@ -134,7 +134,7 @@ eval(z);           // вернёт 42
 
 

Следующий пример использует eval() для получения значения выражения str. Эта строка состоит из JavaScript выражений, печатающих в консоль, и, если x равен пяти, призывающих z значение 42, или 0 в противном случае. Когда второе выражение будет исполнено, eval() будет считать выражения выполненными, а также это установит значение выражению переменной z и вернёт его.

-
var x = 5;
+
var x = 5;
 var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
 
 console.log("z is ", eval(str));
@@ -143,7 +143,7 @@ console.log("z is ", eval(str));

eval() вернёт значение последнего выполняемого выражения

-
var str = "if ( a ) { 1+1; } else { 1+2; }";
+
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);

eval как строковое определение функции, включающее "(" и ")" как префикс и суффикс

-
var fctStr1 = "function a() {}"
+
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
 
 

Этот объект не может быть инстанциирован напрямую. Вместо этого, экземпляр Generator может быть возвращён из функции-генератора:

-
function* generator() {
+
function* generator() {
   yield 1;
   yield 2;
   yield 3;
@@ -47,7 +47,7 @@ console.log(generator().next().value); // 1

Бесконечный Итератор

-
function* idMaker() {
+
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
 
 

Синтаксис

-
new Intl.DateTimeFormat([locales[, options]])
+
new Intl.DateTimeFormat([locales[, options]])
 Intl.DateTimeFormat.call(this[, locales[, options]])

Параметры

@@ -122,7 +122,7 @@ Intl.DateTimeFormat.call(this[, locales[, optionsПри базовом использовании без определения локали DateTimeFormat использует локаль и опции по умолчанию.

-
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
 
 // Вывод format без аргументов зависит от реализации,
 // локали по умолчанию и часового пояса по умолчанию
@@ -134,7 +134,7 @@ console.log(new Intl.DateTimeFormat().format(date));
 
 

Этот пример показывает некоторые локализованные форматы даты и времени. Для получения формата языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент locales:

-
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
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));
 
 

Формат даты и времени может быть настроен с помощью аргумента options:

-
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
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
 
 

Синтаксис

-
Number.isSafeInteger(testValue)
+
Number.isSafeInteger(testValue)

Параметры

@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger

Примеры

-
Number.isSafeInteger(3);                    // true
+
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
 
 

Полифил

-
Number.isSafeInteger = Number.isSafeInteger || function (value) {
+
Number.isSafeInteger = Number.isSafeInteger || function (value) {
    return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
 };
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

Синтаксис

-
numObj.toExponential([fractionDigits])
+
numObj.toExponential([fractionDigits])

Параметры

@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toExponential

Пример: использование toExponential

-
var numObj = 77.1234;
+
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
 
 

Синтаксис

-
numObj.toFixed([digits])
+
numObj.toFixed([digits])

Параметры

@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toFixed

Пример: использование toFixed

-
var numObj = 12345.6789;
+
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
 
 

Синтаксис

-
numObj.toPrecision([precision])
+
numObj.toPrecision([precision])

Параметры

@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toPrecision

Пример: использование toPrecision

-
var numObj = 5.123456;
+
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
 
 

Синтаксис

-
numObj.toString([radix])
+
numObj.toString([radix])

Параметры

@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toString

Пример: использование toString

-
var count = 10;
+
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
 
 

Синтаксис

-
Object.create(proto[, propertiesObject])
+
Object.create(proto[, propertiesObject])

Параметры

@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create

Ниже показан пример использования Object.create() для имитации классического наследования. Это пример одиночного наследования, поскольку только его поддерживает JavaScript.

-
// Shape — суперкласс
+
// Shape — суперкласс
 function Shape() {
   this.x = 0;
   this.y = 0;
@@ -73,7 +73,7 @@ rect.move(1, 1); // выведет 'Фигура переместилась.'
 
 

Если вы хотите наследоваться от нескольких объектов, то это возможно сделать при помощи примесей.

-
function MyClass() {
+
function MyClass() {
   SuperClass.call(this);
   OtherSuperClass.call(this);
 }
@@ -90,7 +90,7 @@ MyClass.prototype.myMethod = function() {
 
 

Пример: использование аргумента propertiesObject с Object.create()

-
var o;
+
var o;
 
 // создаём объект с нулевым прототипом
 o = Object.create(null);
@@ -159,7 +159,7 @@ o2 = Object.create({}, {
 
 

Для этого полифила необходима правильно работающая Object.prototype.hasOwnProperty.

-
if (typeof Object.create != 'function') {
+
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
 
 

Синтаксис

-
Object.entries(obj)
+
Object.entries(obj)

Параметры

@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries

Примеры

-
var obj = { foo: "bar", baz: 42 };
+
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'] ]
-
// returns an empty array for any primitive type, since primitives have no own properties
+
// 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]) => {
 
 

Конструктор {{jsxref("Map", "new Map()")}} принимает повторение значений. С Object.entries вы легко можете преобразовать {{jsxref("Object")}} в {{jsxref("Map")}}:

-
var obj = { foo: "bar", baz: 42 };
+
var obj = { foo: "bar", baz: 42 };
 var map = new Map(Object.entries(obj));
 console.log(map); // Map { foo: "bar", baz: 42 }
@@ -75,7 +75,7 @@ console.log(map); // Map { foo: "bar", baz: 42 }

Используя метод Разбора Массивов Вы можете легко итерировать объекты.

-
const obj = { foo: 'bar', baz: 42 };
+
const obj = { foo: 'bar', baz: 42 };
 Object.entries(obj).forEach(([key, value]) => console.log(`${key}: ${value}`)); // "foo: bar", "baz: 42"

Полифил

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

Синтаксис

-
p.then(onFulfilled[, onRejected]);
+
p.then(onFulfilled[, onRejected]);
 
 p.then(value => {
   // выполнение
@@ -43,7 +43,7 @@ p.then(value => {
 
 

Использование метода then

-
var p1 = new Promise(function(resolve, reject) {
+
var p1 = new Promise(function(resolve, reject) {
   resolve("Успех!");
   // или
   // reject("Ошибка!");
@@ -60,7 +60,7 @@ p1.then(function(value) {
 
 

Так как метод then возвращает промис (Promise), вы можете объединить несколько вызовов then в цепочку. Значения возвращаемые из колбэков onFulfilled или onRejected будут автоматически обёрнуты в промис.

-
var p2 = new Promise(function(resolve, reject) {
+
var p2 = new Promise(function(resolve, reject) {
   resolve(1);
 });
 
@@ -78,7 +78,7 @@ p2.then(function(value) {
 
 

Вы также можете соединить одну функцию, имеющую подобный с промисами API, с другой функцией.

-
function fetch_current_data() {
+
function fetch_current_data() {
   // API функции fetch() возвращает промис. Эта функция
   // имеет аналогичный API, за исключением значения в случае выполнения
   return fetch("current-data.json").then((response) => {
@@ -95,7 +95,7 @@ p2.then(function(value) {
 
 

Если onFulfilled возвращает промис, возвращаемое значение может быть выполнено (resolved) / отклонено (rejected) промисом.

-
function resolveLater(resolve, reject) {
+
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
 
 

Прокси - это новые объекты; невозможно выполнить "проксирование" существующего объекта. Пример создания прокси:

-
var p = new Proxy(target, handler);
+
var p = new Proxy(target, handler);
 

Где:

@@ -150,7 +150,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy

Объект, возвращающий значение 37, в случае отсутствия свойства с указанным именем:

-
var handler = {
+
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
 
 

В данном примере мы используем JavaScript объект, к которому наш прокси направляет все запросы:

-
var target = {};
+
var target = {};
 var p = new Proxy(target, {});
 
 p.a = 37; // операция перенаправлена прокси
@@ -182,7 +182,7 @@ console.log(target.a); // 37. Операция была успешно пере
 
 

При помощи Proxy вы можете легко проверять передаваемые объекту значения:

-
let validator = {
+
let validator = {
   set: function(obj, prop, value) {
     if (prop === 'age') {
       if (!Number.isInteger(value)) {
@@ -213,7 +213,7 @@ person.age = 300; // Вызовет исключение
 
 

Функция прокси может легко дополнить конструктор новым:

-
function extend(sup, base) {
+
function extend(sup, base) {
     var descriptor = Object.getOwnPropertyDescriptor(
         base.prototype, 'constructor',
     );
@@ -260,7 +260,7 @@ console.log(Peter.age); // 13
 
 

Иногда возникает необходимость переключить атрибут или имя класса у двух разных элементов:

-
let view = new Proxy({
+
let view = new Proxy({
   selected: null
 },
 {
@@ -293,7 +293,7 @@ console.log(i2.getAttribute('aria-selected')); // 'true'
 
 

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

-
let products = new Proxy({
+
let products = new Proxy({
   browsers: ['Internet Explorer', 'Netscape']
 },
 {
@@ -336,7 +336,7 @@ console.log(products.latestBrowser); // 'Chrome'
 
 

Данный прокси расширяет массив дополнительными возможностями. Как вы видите, вы можете гибко "задавать" свойства без использования Object.defineProperties. Данный пример также может быть использован для поиска строки таблицы по её ячейке. В этом случае целью будет table.rows.

-
let products = new Proxy([
+
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
 
 

В данном примере, использующем все виды перехватчиков, мы попытаемся проксировать не нативный объект, который частично приспособлен для этого - docCookies, созданном в разделе "little framework" и опубликованном на странице document.cookie.

-
/*
+
/*
   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
 
 

Синтаксис

-
const p = new Proxy(target, {
+
const p = new Proxy(target, {
   apply: function(target, thisArg, argumentsList) {
   }
 });
@@ -66,7 +66,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply
 
 

Следующий код ловит вызов функции.

-
const p = new Proxy(function() {}, {
+
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
 
 

Syntax

-
const p = new Proxy(target, {
+
const p = new Proxy(target, {
   get: function(target, property, receiver) {
   }
 });
@@ -65,7 +65,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get
 
 

Следующий код перехватывает получение значения свойства.

-
const p = new Proxy({}, {
+
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"
 
 

Следующий код нарушает инвариант.

-
const obj = {};
+
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
 
 

Syntax

-
new Proxy(target, handler)
+
new Proxy(target, handler)

Parameters

@@ -77,7 +77,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy

In this example the target has two properties, notProxied and proxied. We define a handler that returns a different value for proxied, and lets any other accesses through to the target.

-
const target = {
+
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
 
 

Синтаксис

-
var p = new Proxy(target, {
+
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
 
 

Следующий код перехватывает установку значения свойству.

-
var p = new Proxy({}, {
+
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
 
 

Проверка наличия конкретных свойств у объекта

-
const duck = {
+
const duck = {
   name: 'Maurice',
   color: 'white',
   greeting: function() {
@@ -65,12 +65,12 @@ Reflect.has(duck, 'haircut');
 
 

Возврат собственных ключей объекта

-
Reflect.ownKeys(duck);
+
Reflect.ownKeys(duck);
 // [ "name", "color", "greeting" ]

Добавление нового свойства в объект

-
Reflect.set(duck, 'eyes', 'black');
+
Reflect.set(duck, 'eyes', 'black');
 // вернётся "true" если вызов успешен
 // объект "duck" теперь содержит свойство "eyes" со значением "black"
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

Возможны как литеральная запись, так и запись через конструктор:

-
/pattern/flags
+
/pattern/flags
 new RegExp(pattern, flags)
 
@@ -56,7 +56,7 @@ new RegExp(pattern, flags)

Существует два способа создания объекта RegExp: литеральная запись и использование конструктора. При записи строк параметры в литеральной записи не используют символы кавычек, в то время как параметры функции-конструктора используют кавычки. Так что следующие выражения создают одинаковые регулярные выражения:

-
/ab+c/i;
+
/ab+c/i;
 new RegExp('ab+c', 'i');
 
@@ -66,7 +66,7 @@ new RegExp('ab+c', 'i');

При использовании функции-конструктора необходимо использовать обычные правила экранирования в строках (предварять специальные символы символом обратного слеша «\»). Например, следующие выражения эквивалентны:

-
var re = /\w+/;
+
var re = /\w+/;
 var re = new RegExp('\\w+');
 
@@ -456,7 +456,7 @@ var re = new RegExp('\\w+');

Следующий скрипт использует метод {{jsxref("String.prototype.replace()", "replace()")}} экземпляра строки {{jsxref("Global_Objects/String", "String")}} для сопоставления с именем в формате имя фамилия и выводит его в формате фамилия, имя. В тесте замены скрипт использует заменители $1 и $2, которые заменяются на результаты соответствующих сопоставившихся подгрупп регулярного выражения.

-
var re = /(\w+)\s(\w+)/;
+
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);
 
 

Символы конца строки различаются на различных платформах (Unix, Windows и так далее). Разбиение строк из этого примера работает на всех платформах.

-
var text = 'Некоторый текст\nЕщё текст\r\nИ ещё\rЭто конец';
+
var text = 'Некоторый текст\nЕщё текст\r\nИ ещё\rЭто конец';
 var lines = text.split(/\r\n|\r|\n/);
 console.log(lines); // выведет [ 'Некоторый текст', 'Ещё текст', 'И ещё', 'Это конец' ]
 
@@ -483,7 +483,7 @@ console.log(lines); // выведет [ 'Некоторый текст', 'Ещё

Пример: использование регулярных выражений на нескольких строках

-
var s = 'Please yes\nmake my day!';
+
var s = 'Please yes\nmake my day!';
 s.match(/yes.*day/);
 // Вернёт null
 s.match(/yes[^]*day/);
@@ -494,7 +494,7 @@ s.match(/yes[^]*day/);
 
 

Этот пример демонстрирует, как можно использовать флаг «липучести» регулярных выражений для сопоставления с отдельными строками многострочного ввода.

-
var text = 'Первая строка\nВторая строка';
+
var text = 'Первая строка\nВторая строка';
 var regex = /(\S+) строка\n?/y;
 
 var match = regex.exec(text);
@@ -511,7 +511,7 @@ console.log(match3 === null); // напечатает 'true'
 
 

Во время выполнения можно проверить, поддерживается ли флаг «липучести», при помощи блока try { … } catch { … }. Для этого надо использовать либо выражение с eval(…), либо конструктор RegExp(строка-регулярки, строка-с-флагами) (поскольку нотация /регулярка/флаги обрабатывается во время компиляции, исключение будет выброшено до того, как выполнение достигнет блока catch). Например:

-
var supports_sticky;
+
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'
 
 

Как уже сказано выше, символьные классы \w и \W сопоставляются только с базовыми символами ASCII; то есть, с символами от «a» до «z», от «A» до «Z», от «0» до «9» и символом «_». Для сопоставления с символами из других языков, например, с кириллическими или иврита, используйте форму \uhhhh, где «hhhh» — это значение символа Юникода, записанное в шестнадцатеричной форме. Этот пример демонстрирует, как можно выделить символы Юникода, составляющие слова.

-
var text = 'Образец text на русском языке';
+
var text = 'Образец text на русском языке';
 var regex = /[\u0400-\u04FF]+/g;
 
 var match = regex.exec(text);
@@ -539,7 +539,7 @@ console.log(regex.lastIndex); // напечатает '15'
 
 

Пример: извлечение имени поддомена из URL

-
var url = 'http://xxx.domain.com';
+
var url = 'http://xxx.domain.com';
 console.log(/[^.]+/.exec(url)[0].substr(7)); // напечатает 'xxx'
 
@@ -578,7 +578,7 @@ console.log(/[^.]+/.exec(url)[0].substr(7)); // напечатает 'xxx'

Начиная с Gecko 34 {{geckoRelease(34)}}, в случае захвата группы с квантификаторами, предотвращающими появление группы в результате сопоставления, сопоставившийся текст для захваченной группы теперь имеет значение undefined вместо пустой строки:

-
// Firefox 33 или более ранние
+
// 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
 
 

Синтаксис

-
RegExp.lastMatch
+
RegExp.lastMatch
 RegExp['$&']
 
@@ -25,7 +25,7 @@ RegExp['$&']

Использование lastMatch и $&

-
var re = /hi/g;
+
var re = /hi/g;
 re.test('hi there!');
 RegExp.lastMatch; // "hi"
 RegExp['$&'];     // "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
 
 

Синтаксис

-
new Set([iterable])
+
new Set([iterable])

Параметры

@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set

Использование объекта Set

-
let mySet = new Set()
+
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
 
 

Синтаксис

-
string[Symbol.iterator]
+
string[Symbol.iterator]

Примеры

Пример: использование метода [@@iterator]()

-
var string = 'A\uD835\uDC68';
+
var string = 'A\uD835\uDC68';
 
 var strIter = string[Symbol.iterator]();
 
@@ -38,7 +38,7 @@ console.log(strIter.next().value); // "\uD835\uDC68"
 
 

Пример: использование метода [@@iterator]() вместе с циклом for..of

-
var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
+
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
 
 

Синтаксис

-
str.endsWith(searchString[, length])
+
str.endsWith(searchString[, length])

Параметры

@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith

Пример: использование метода endsWith()

-
var str = 'Быть или не быть, вот в чём вопрос.';
+
var str = 'Быть или не быть, вот в чём вопрос.';
 
 console.log(str.endsWith('вопрос.'));   // true
 console.log(str.endsWith('быть'));      // false
@@ -51,7 +51,7 @@ console.log(str.endsWith('быть', 16));  // true
 
 

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

-
if (!String.prototype.endsWith) {
+
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
 
 

Строковые литералы могут быть следующих форм:

-
'строка текста'
+
'строка текста'
 "строка текста"
 "中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
 
@@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String

Либо можно использовать глобальный объект String напрямую:

-
String(thing)
+
String(thing)
 new String(thing)
 
@@ -103,12 +103,12 @@ new String(thing)

Существует два способа добраться до конкретного символа в строке. В первом способе используется метод {{jsxref("String.prototype.charAt()", "charAt()")}}:

-
return 'кот'.charAt(1); // вернёт "о"
+
return 'кот'.charAt(1); // вернёт "о"
 

Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:

-
return 'кот'[1]; // вернёт "о"
+
return 'кот'[1]; // вернёт "о"
 

При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу {{jsxref("Object.defineProperty()")}} для дополнительной информации.

@@ -117,7 +117,7 @@ new String(thing)

Разработчики на C имеют для сравнения строк функцию strcmp(). В JavaScript вы просто используете операторы меньше и больше:

-
var a = 'a';
+
var a = 'a';
 var b = 'b';
 if (a < b) { // true
   print(a + ' меньше чем ' + b);
@@ -136,7 +136,7 @@ if (a < b) { // true
 
 

Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом String в неконструкторном контексте (то есть, без использования ключевого слова {{jsxref("Operators/new", "new")}}) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты String, так что на строковых примитивах возможно использовать методы объекта String. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.

-
var s_prim = 'foo';
+
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'
 
 

Строковые примитивы и объекты String также дают разные результаты при использовании глобальной функции {{jsxref("Global_Objects/eval", "eval()")}}. Примитивы, передаваемые в eval(), трактуются как исходный код; объекты же String трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:

-
var s1 = '2 + 2';             // создаёт строковый примитив
+
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'
 
 

Объект String также всегда может быть преобразован в его примитивный аналог при помощи метода {{jsxref("String.prototype.valueOf()", "valueOf()")}}.

-
console.log(eval(s2.valueOf())); // выведет число 4
+
console.log(eval(s2.valueOf())); // выведет число 4
 
Примечание: для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о StringView — C-подобном представлении строк на основе типизированных массивов.
@@ -186,7 +186,7 @@ console.log(eval(s2)); // выведет строку '2 + 2'

Методы экземпляров String также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте String, что позволяет применять эти методы к любому объекту:

-
var num = 15;
+
var num = 15;
 console.log(String.replace(num, /5/, '2'));
 
@@ -194,7 +194,7 @@ console.log(String.replace(num, /5/, '2'));

Следующая прослойка позволяет использовать их во всех браузерах:

-
/*globals define*/
+
/*globals define*/
 // Предполагаем, что все требуемые методы экземпляров String уже присутствуют
 // (для них так же можно использовать полифилы, если их нет)
 (function() {
@@ -249,7 +249,7 @@ console.log(String.replace(num, /5/, '2'));
 
 

Объект String можно использовать как «безопасную» альтернативу методу {{jsxref("String.prototype.toString()", "toString()")}}, так как хотя он обычно и вызывает соответствующий метод toString(), он также работает и для значений {{jsxref("Global_Objects/null", "null")}} и {{jsxref("Global_Objects/undefined", "undefined")}}. Например:

-
var outputStrings = [];
+
var outputStrings = [];
 for (var i = 0, n = inputValues.length; i < 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
 
 

Синтаксис

-
str.matchAll(regexp)
+
str.matchAll(regexp)

Параметры

@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll

До добавления метода matchAll в JavaScript, можно было использовать метод regexp.exec (и регулярные выражения с флагом /g ) в цикле для получения доступа к совпадениям:

-
const regexp = RegExp('foo*','g');
+
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) {
 

С появлением matchAll, нет необходимости использовать цикл while и метод exec с флагом /g.
Используя вместо этого метод matchAll, вы получаете итератор, который вы можете использовать более удобно с конструкциями for...of, array spread, или {{jsxref("Array.from()")}} :

-
const regexp = RegExp('foo*','g');
+
const regexp = RegExp('foo*','g');
 const str = 'table football, foosball';
 let matches = str.matchAll(regexp);
 
@@ -74,7 +74,7 @@ Array.from(matches, m => m[0]);
 
 

Ещё одна веская причина использовать matchAll это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании match() с глобальным флагом /g:

-
var regexp = /t(e)(st(\d?))/g;
+
var regexp = /t(e)(st(\d?))/g;
 var str = 'test1test2';
 
 str.match(regexp);
@@ -82,7 +82,7 @@ str.match(regexp);
 
 

С matchAll у вас появляется к ним доступ:

-
let array = [...str.matchAll(regexp)];
+
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
 
 

Syntax

-
const newStr = str.replaceAll(regexp|substr, newSubstr|function)
+
const newStr = str.replaceAll(regexp|substr, newSubstr|function)
 
@@ -119,20 +119,20 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll

Using replaceAll

-
'aabbcc'.replaceAll('b', '.');
+
'aabbcc'.replaceAll('b', '.');
 // 'aa..cc'

Non-global regex throws

Поиск с регулярными выражениями должен быть с ("g"). Это не работает:

-
'aabbcc'.replaceAll(/b/, '.');
+
'aabbcc'.replaceAll(/b/, '.');
 TypeError: replaceAll must be called with a global RegExp
 

Это работает:

-
'aabbcc'.replaceAll(/b/g, '.');
+
'aabbcc'.replaceAll(/b/g, '.');
 "aa..cc"
 
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

Синтаксис

-
str.slice(beginIndex[, endIndex])
+
str.slice(beginIndex[, endIndex])

Параметры

@@ -51,7 +51,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/slice

В следующем примере метод slice() используется для создания новой строки.

-
let str1 = 'Приближается утро.';
+
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); // ВЫВОД: ""
 
 

В следующем примере метод slice() используется вместе с отрицательными индексами.

-
let str = 'Приближается утро.';
+
let str = 'Приближается утро.';
 str.slice(-3);     // вернёт 'ро.'
 str.slice(-3, -1); // вернёт 'ро'
 str.slice(0, -1);  // вернёт 'Приближается утро'
@@ -75,15 +75,15 @@ str.slice(0, -1);  // вернёт 'Приближается утро'
 
 

В этом примере начальным индексом считается 11-й символ с конца строки, а конечным - 16-й с начала.

-
str.slice(-11, 16); // вернёт 'ается утр'
+
str.slice(-11, 16); // вернёт 'ается утр'

Здесь начальным индексом считается 6-й символ от начала строки, а конечным - 7-й с конца.

-
str.slice(6, -7); // вернёт 'жаетс'
+
str.slice(6, -7); // вернёт 'жаетс'

В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1-й для конечного.

-
str.slice(-5, -1); // вернёт 'утро'
+
str.slice(-5, -1); // вернёт 'утро'

Спецификации

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

Синтаксис

-
str.split([separator[, limit]])
+
str.split([separator[, limit]])

Параметры

@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/split

В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.

-
function splitString(stringToSplit, separator) {
+
function splitString(stringToSplit, separator) {
   var arrayOfStrings = stringToSplit.split(separator);
 
   console.log('Оригинальная строка: "' + stringToSplit + '"');
@@ -68,7 +68,7 @@ splitString(monthString, comma);
 
 

Пример сгенерирует следующий вывод:

-
Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+
Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
 Разделитель: " "
 Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди!
 
@@ -85,7 +85,7 @@ splitString(monthString, comma);
 
 

В следующем примере метод split() ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная nameList является массивом, возвращённым в результате работы метода split().

-
var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
+
var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
 
 console.log(names);
 
@@ -97,7 +97,7 @@ console.log(nameList);
 
 

Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.

-
Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
+
Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
 Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
 
@@ -105,7 +105,7 @@ console.log(nameList);

В следующем примере метод split() ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.

-
var myString = 'Привет, мир. Как дела?';
+
var myString = 'Привет, мир. Как дела?';
 var splits = myString.split(' ', 3);
 
 console.log(splits);
@@ -113,14 +113,14 @@ console.log(splits);
 
 

Вывод скрипта будет следующим:

-
Привет,,мир.,Как
+
Привет,,мир.,Как
 

Пример: захват подгрупп

Если параметр separator содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.

-
var myString = 'Привет 1 мир. Предложение номер 2.';
+
var myString = 'Привет 1 мир. Предложение номер 2.';
 var splits = myString.split(/(\d)/);
 
 console.log(splits);
@@ -128,12 +128,12 @@ console.log(splits);
 
 

Вывод скрипта будет следующим:

-
Привет ,1, мир. Предложение номер ,2,.
+
Привет ,1, мир. Предложение номер ,2,.
 

Пример: обращение строки при помощи метода split()

-
var str = 'фывапролд';
+
var str = 'фывапролд';
 var strReverse = str.split('').reverse().join(''); // 'длорпавыф'
 // split() возвращает массив, к которому применяются методы reverse() и join()
 
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

Синтаксис

-
str.startsWith(searchString[, position])
+
str.startsWith(searchString[, position])

Параметры

@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith

Пример: использование метода startsWith()

-
var str = 'Быть или не быть, вот в чём вопрос.';
+
var str = 'Быть или не быть, вот в чём вопрос.';
 
 console.log(str.startsWith('Быть'));        // true
 console.log(str.startsWith('не быть'));     // false
@@ -48,7 +48,7 @@ console.log(str.startsWith('не быть', 9));  // true
 
 

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

-
if (!String.prototype.startsWith) {
+
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
 
 

Синтаксис

-
new WeakMap([iterable])
+
new WeakMap([iterable])
 

Параметры

@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap

Использование объекта WeakMap

-
const wm1 = new WeakMap(),
+
const wm1 = new WeakMap(),
     wm2 = new WeakMap(),
     wm3 = new WeakMap();
 const o1 = {},
@@ -92,7 +92,7 @@ wm1.has(o1);     // false
 
 

Пример: Реализация класса WeakMap-like классов с методом .clear()

-
class ClearableWeakMap {
+
class ClearableWeakMap {
     constructor(init) {
         this._wm = new WeakMap(init)
     }
-- 
cgit v1.2.3-54-g00ecf