You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 99-archive/005-events-change/1-calculate-capitalization/task.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ importance: 5
6
6
7
7
Создайте интерфейс для автоматического вычисления процентов по вкладу.
8
8
9
-
Ставка фиксирована: 12% годовых. При включённом поле "капитализация" -- проценты приплюсовываются к сумме вклада каждый месяц ([сложный процент](http://damoney.ru/finance/slozniy-procent.php)).
9
+
Ставка фиксирована: 12% годовых. При включённом поле "капитализация" -- проценты приплюсовываются к сумме вклада каждый месяц ([сложный процент](https://damoney.ru/finance/slozniy-procent.php)).
Copy file name to clipboardExpand all lines: 99-archive/005-events-change/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ archive:
9
9
10
10
## Событие change
11
11
12
-
Событие [change](http://www.w3.org/TR/html5/forms.html#event-input-change) происходит по окончании изменения значения элемента формы, когда это изменение зафиксировано.
12
+
Событие [change](https://html.spec.whatwg.org/multipage/indices.html#event-input-change) происходит по окончании изменения значения элемента формы, когда это изменение зафиксировано.
13
13
14
14
Для текстовых элементов это означает, что событие произойдёт не при каждом вводе, а при потере фокуса.
Это преобразование осуществляется при арифметических операциях и сравнениях `> >= < <=`, но не при проверке равенства `==`. Алгоритм проверки равенства для этих значений в спецификации прописан отдельно (пункт [11.9.3](http://es5.github.com/x11.html#x11.9.3)). В нём считается, что `null` и `undefined` равны `"=="` между собой, но эти значения не равны никакому другому значению.
111
+
Это преобразование осуществляется при арифметических операциях и сравнениях `> >= < <=`, но не при проверке равенства `==`. Алгоритм проверки равенства для этих значений в спецификации прописан отдельно (пункт [11.9.3](https://es5.github.io/x11.html#x11.9.3)). В нём считается, что `null` и `undefined` равны `"=="` между собой, но эти значения не равны никакому другому значению.
Copy file name to clipboardExpand all lines: 99-archive/009-pre-coding/article.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,8 @@ archive:
33
33
34
34
1.<http://help.dottoro.com> -- содержит подробную информацию по HTML/CSS/JavaScript.
35
35
2.<http://javascript.ru/manual> -- справочник по JavaScript на русском языке, он содержит основную информацию по языку, без функций для работы с документом. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: <http://javascript.ru/RegExp>.
36
-
3.<http://www.quirksmode.org> -- информация о браузерных несовместимостях. Этот ресурс сам по себе довольно старый и, в первую очередь, полезен для поддержки устаревших браузеров. Для поиска можно пользоваться комбинацией **"quirksmode onkeypress"** в Google.
37
-
4.<http://caniuse.com> -- ресурс о поддержке браузерами новейших возможностей HTML/CSS/JavaScript. Например, для поддержки функций криптографии: <http://caniuse.com/#feat=cryptography>.
36
+
3.<https://www.quirksmode.org> -- информация о браузерных несовместимостях. Этот ресурс сам по себе довольно старый и, в первую очередь, полезен для поддержки устаревших браузеров. Для поиска можно пользоваться комбинацией **"quirksmode onkeypress"** в Google.
37
+
4.<https://caniuse.com> -- ресурс о поддержке браузерами новейших возможностей HTML/CSS/JavaScript. Например, для поддержки функций криптографии: <https://caniuse.com/#feat=cryptography>.
38
38
5.<https://kangax.github.io/compat-table> -- таблица с обзором поддержки спецификации ECMAScript различными платформами.
39
39
40
40
## Спецификации
@@ -45,7 +45,7 @@ archive:
45
45
46
46
### Спецификация ECMAScript
47
47
48
-
Спецификация (формальное описание синтаксиса, базовых объектов и алгоритмов) языка JavaScript называется [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm).
48
+
Спецификация (формальное описание синтаксиса, базовых объектов и алгоритмов) языка JavaScript называется [ECMAScript](https://www.ecma-international.org/publications/standards/Ecma-262.htm).
49
49
50
50
```smart header="Почему не просто "JavaScript" ?"
51
51
Вы можете спросить: "Почему спецификация для JavaScript не называется просто *"JavaScript"*, зачем существует какое-то отдельное название?"
@@ -63,15 +63,15 @@ JavaScript -- язык общего назначения, поэтому в сп
63
63
64
64
Главная организация, которая занимается HTML, CSS, XML и множеством других стандартов -- [Консорциум Всемирной паутины](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%BE%D1%80%D1%86%D0%B8%D1%83%D0%BC_%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B9_%D0%BF%D0%B0%D1%83%D1%82%D0%B8%D0%BD%D1%8B) (World Wide Web Consortium, сокращённо W3C).
65
65
66
-
Информацию о них можно найти на сайте [w3.org](http://w3.org). К сожалению, найти в этой куче то, что нужно, может быть нелегко, особенно когда неизвестно в каком именно стандарте искать. Самый лучший способ -- попросить Google с указанием сайта.
66
+
Информацию о них можно найти на сайте [w3.org](https://w3.org). К сожалению, найти в этой куче то, что нужно, может быть нелегко, особенно когда неизвестно в каком именно стандарте искать. Самый лучший способ -- попросить Google с указанием сайта.
67
67
68
68
Например, для поиска `document.cookie` набрать [document.cookie site:w3.org](https://www.google.com/search?q=document.cookie+site%3Aw3.org).
69
69
70
-
Последние версии стандартов расположены на домене [dev.w3.org](http://dev.w3.org).
70
+
Последние версии стандартов расположены на домене [dev.w3.org](https://dev.w3.org).
71
71
72
72
Кроме того, в том, что касается HTML5 и DOM/CSS, W3C активно использует наработки другой организации -- [WhatWG](https://whatwg.org/). Поэтому самые актуальные версии спецификаций по этим темам обычно находятся на <https://whatwg.org/specs/>.
73
73
74
-
Иногда бывает так, что информация на сайте <http://dev.w3.org> отличается от <http://whatwg.org>. В этом случае, как правило, следует руководствоваться <http://whatwg.org>.
74
+
Иногда бывает так, что информация на сайте <https://dev.w3.org> отличается от <https://whatwg.org>. В этом случае, как правило, следует руководствоваться <https://whatwg.org>.
Спецификации содержат важнейшую информацию о том, как оно "должно работать":
93
93
94
-
- JavaScript, современный стандарт [ES5 (англ)](http://www.ecma-international.org/publications/standards/Ecma-262.htm), и предыдущий [ES3 (рус)](http://javascript.ru/ecma).
95
-
- HTML/DOM/CSS -- на сайте [http://w3.org](http://www.w3.org).
94
+
- JavaScript, современный стандарт [ES5 (англ)](https://www.ecma-international.org/publications/standards/Ecma-262.htm), и предыдущий [ES3 (рус)](http://javascript.ru/ecma).
95
+
- HTML/DOM/CSS -- на сайте [https://w3.org](https://www.w3.org).
96
96
Google-комбо: `"document.cookie site:w3.org"`.
97
-
- ...А самые последние версии стандартов -- на <http://dev.w3.org> и на [http://whatwg.org/specs/](https://whatwg.org/specs/).
97
+
- ...А самые последние версии стандартов -- на <https://dev.w3.org> и на [https://whatwg.org/specs/](https://whatwg.org/specs/).
98
98
99
99
То, как оно на самом деле работает и несовместимости:
Copy file name to clipboardExpand all lines: 99-archive/010-editor/article.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,11 +21,11 @@ archive:
21
21
22
22
Если вы ещё не задумывались над выбором IDE, присмотритесь к следующим вариантам.
23
23
24
-
- Продукты IntelliJ: [WebStorm](http://www.jetbrains.com/webstorm/), а также в зависимости от дополнительного языка программирования [PHPStorm (PHP)](http://www.jetbrains.com/phpstorm/), [IDEA (Java)](http://www.jetbrains.com/idea/), [RubyMine (Ruby)](http://www.jetbrains.com/ruby/) и другие.
24
+
- Продукты IntelliJ: [WebStorm](https://www.jetbrains.com/webstorm/), а также в зависимости от дополнительного языка программирования [PHPStorm (PHP)](https://www.jetbrains.com/phpstorm/), [IDEA (Java)](https://www.jetbrains.com/idea/), [RubyMine (Ruby)](https://www.jetbrains.com/ruby/) и другие.
25
25
- Visual Studio, в сочетании с разработкой под .NET (Win)
26
26
- Продукты на основе Eclipse, в частности [Aptana](http://www.aptana.com/) и Zend Studio
27
-
-[Komodo IDE](http://www.activestate.com/komodo-ide) и его облегчённая версия [Komodo Edit](http://www.activestate.com/komodo-edit).
28
-
-[Netbeans](http://netbeans.org/)
27
+
-[Komodo IDE](https://www.activestate.com/komodo-ide) и его облегчённая версия [Komodo Edit](https://www.activestate.com/komodo-edit).
28
+
-[Netbeans](https://netbeans.apache.org/)
29
29
30
30
Почти все они, за исключением Visual Studio, кросс-платформенные.
-[Vim](http://www.vim.org/), [Emacs](http://www.gnu.org/software/emacs/). Если умеете их готовить.
52
+
-[Vim](https://www.vim.org/), [Emacs](http://www.gnu.org/software/emacs/). Если умеете их готовить.
53
53
54
54
## Мои редакторы
55
55
56
56
Лично мои любимые редакторы:
57
57
58
-
- Как IDE -- редакторы от Jetbrains: для чистого JavaScript [WebStorm](http://www.jetbrains.com/webstorm/), если ещё какой-то язык, то в зависимости от языка: [PHPStorm (PHP)](http://www.jetbrains.com/phpstorm/), [IDEA (Java)](http://www.jetbrains.com/idea/), [RubyMine (Ruby)](http://www.jetbrains.com/ruby/). У них есть и другие редакторы под разные языки, но я ими не пользовался.
58
+
- Как IDE -- редакторы от Jetbrains: для чистого JavaScript [WebStorm](https://www.jetbrains.com/webstorm/), если ещё какой-то язык, то в зависимости от языка: [PHPStorm (PHP)](https://www.jetbrains.com/phpstorm/), [IDEA (Java)](https://www.jetbrains.com/idea/), [RubyMine (Ruby)](https://www.jetbrains.com/ruby/). У них есть и другие редакторы под разные языки, но я ими не пользовался.
59
59
- Как быстрый редактор -- <ahref="http://www.sublimetext.com">Sublime Text</a>.
60
60
- Иногда Visual Studio, если разработка идёт под платформу .NET (Win).
Copy file name to clipboardExpand all lines: 99-archive/011-es-modern-usage/article.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ archive:
5
5
6
6
# ES-2015 сейчас
7
7
8
-
[Стандарт ES-2015](http://www.ecma-international.org/publications/standards/Ecma-262.htm) был принят в июне 2015. Пока что большинство браузеров реализуют его частично, текущее состояние реализации различных возможностей можно посмотреть здесь: <https://kangax.github.io/compat-table/es6/>.
8
+
[Стандарт ES-2015](https://www.ecma-international.org/publications/standards/Ecma-262.htm) был принят в июне 2015. Пока что большинство браузеров реализуют его частично, текущее состояние реализации различных возможностей можно посмотреть здесь: <https://kangax.github.io/compat-table/es6/>.
9
9
10
10
Когда стандарт будет более-менее поддерживаться во всех браузерах, то весь учебник будет обновлён в соответствии с ним. Пока же, как центральное место для "сбора" современных фич JavaScript, создан этот раздел.
11
11
@@ -30,7 +30,7 @@ archive:
30
30
31
31
На странице <https://babeljs.io/repl/> можно поэкспериментировать с транспайлером: слева вводится код в ES-2015, а справа появляется результат его преобразования в ES5.
32
32
33
-
Обычно Babel.JS работает на сервере в составе системы сборки JS-кода (например [webpack](http://webpack.github.io/) или [brunch](http://brunch.io/)) и автоматически переписывает весь код в ES5.
33
+
Обычно Babel.JS работает на сервере в составе системы сборки JS-кода (например [webpack](http://webpack.github.io/) или [brunch](https://brunch.io/)) и автоматически переписывает весь код в ES5.
34
34
35
35
Настройка такой конвертации тривиальна, единственно -- нужно поднять саму систему сборки, а добавить к ней Babel легко, плагины есть к любой из них.
Использование объектов в качестве ключей -- как раз тот случай, когда `Map` сложно заменить обычными объектами `Object`. Ведь для обычных объектов ключ может быть только строкой.
80
80
81
81
```smart header="Как map сравнивает ключи"
82
-
Для проверки значений на эквивалентность используется алгоритм [SameValueZero](http://www.ecma-international.org/ecma-262/6.0/index.html#sec-samevaluezero). Он аналогичен строгому равенству `===`, отличие -- в том, что `NaN` считается равным `NaN`. Поэтому значение `NaN` также может быть использовано в качестве ключа.
82
+
Для проверки значений на эквивалентность используется алгоритм [SameValueZero](https://www.ecma-international.org/ecma-262/6.0/index.html#sec-samevaluezero). Он аналогичен строгому равенству `===`, отличие -- в том, что `NaN` считается равным `NaN`. Поэтому значение `NaN` также может быть использовано в качестве ключа.
83
83
84
84
Этот алгоритм нельзя изменять или задавать свою функцию сравнения.
Copy file name to clipboardExpand all lines: 99-archive/013-promise/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -438,7 +438,7 @@ httpGet('/page-not-exists')
438
438
439
439
## Промисы в деталях
440
440
441
-
Самым основным источником информации по промисам является, разумеется, [стандарт](http://www.ecma-international.org/ecma-262/6.0/index.html#sec-promise-objects).
441
+
Самым основным источником информации по промисам является, разумеется, [стандарт](https://www.ecma-international.org/ecma-262/6.0/index.html#sec-promise-objects).
442
442
443
443
Чтобы наше понимание промисов было полным, и мы могли с лёгкостью разрешать сложные ситуации, посмотрим внимательнее, что такое промис и как он работает, но уже не в общих словах, а детально, в соответствии со стандартом ECMAScript.
0 commit comments