From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001
From: Alexey Pyltsyn Метод flat удаляет пустые слоты из массива: Следующий код берёт массив чисел и создаёт новый массив, содержащий квадратные корни чисел из первого массива. Следующий код показывает, как работает отображение, когда функция требует один аргумент. Аргумент будет автоматически присваиваться каждому элементу массива, когда Этот пример показывает, как использовать Этот пример показывает, как пройтись по коллекции объектов, собранных с помощью Распространённой практикой является использование колбэк-функции с одним аргументом (элемент, над которым производится операция). Некоторые функции также широко используется с одним аргументом, хотя они принимают дополнительные необязательные аргументы. Эти привычки могут привести к неожиданному поведению программы. Метод В следующем примере метод Этот скрипт выведет: Метод Привязка может быть осуществлена посредством функции . Хотя спецификация не требует от хост-объектов (например, объектов DOM) следовать поведению Mozilla при преобразовании с помощью Если функция сравнения Итак, функция сравнения имеет следующую форму: Для числового сравнения, вместо строкового, функция сравнения может просто вычитать Метод Объекты могут быть отсортированы по значению одного из своих свойств. В следующем примере создаётся четыре массива, сначала отображается первоначальный массив, а затем они сортируются. Числовые массивы сортируются сначала без, а потом с функцией сравнения. Этот пример произведёт следующий вывод. Как показывает вывод, когда используется функция сравнения, числа сортируются корректно вне зависимости от того, являются ли они собственно числами или строками с числами. Для сортировки строк с не-ASCII символами, то есть строк с символами акцента (e, é, è, a, ä и т.д.), строк, с языками, отличными от английского: используйте {{jsxref("String.localeCompare")}}. Эта функция может сравнивать эти символы, чтобы они становились в правильном порядке. Функция сравнения The Вторая инструкция в примере ниже присваивает значение 25 переменной Вторая инструкция в примере ниже присваивает значение 1 переменной Примечание: При необходимости полное название дня (например, " В следующем примере переменной Вторая инструкция в примере ниже присваивает значение 23 переменной В следующем примере переменной Вторая инструкция в примере ниже присваивает значение 15 переменной Вторая инструкция в примере ниже присваивает значение 11 переменной Вторая инструкция в примере ниже присваивает значение 30 переменной Конструирует новый объект даты с идентичным значением времени. Вычитанием двух последовательных вызовов метода Обратите внимание: разбор строкового представления дат с помощью конструктора Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использовать методы {{jsxref("Date.prototype.setFullYear()")}} и {{jsxref("Date.prototype.getFullYear()")}}. Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript: В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует {{jsxref ("Math.floor ()")}} а не {{jsxref ("Math.round ()")}}). Если аргумент, переданный Это ограничение легко обойти при помощи Если вы используете Вам не следует использовать Однако, У JavaScript функции первого класса, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектов и так далее. Многие DOM API созданы с учётом этого, так что вы можете (и вам следует) писать: В следующем коде оба выражения содержат Следующий пример использует Этот объект не может быть инстанциирован напрямую. Вместо этого, экземпляр Синтаксис
-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);
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 и concatvar 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]
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
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
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
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
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
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
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
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
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);
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)
// Используя объекты 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);Синтаксис
-
+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
// вместо 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Пример: использование
-toExponentialvar 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Пример: использование
-toFixedvar 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Пример: использование
-toPrecisionvar 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Пример: использование
-toStringvar 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 => {Использование метода
-thenvar 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/getSyntax
-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/ProxySyntax
-new Proxy(target, handler)+new Proxy(target, handler)Parameters
@@ -77,7 +77,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/ProxyIn this example the target has two properties,
-notProxiedandproxied. We define a handler that returns a different value forproxied, 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 +@@ -56,7 +56,7 @@ new RegExp(pattern, flags)/pattern/flags 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..ofvar 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Строковые литералы могут быть следующих форм:
-'строка текста' +@@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String'строка текста' "строка текста" "中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"Либо можно использовать глобальный объект
-Stringнапрямую:String(thing) +@@ -103,12 +103,12 @@ new String(thing)String(thing) 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, прочитайте статью о@@ -186,7 +186,7 @@ console.log(eval(s2)); // выведет строку '2 + 2'StringView— C-подобном представлении строк на основе типизированных массивов.Методы экземпляров
-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/replaceAllSyntax
-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/replaceAllUsing 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Использование объекта
-WeakMapconst 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