Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1143 commits
Select commit Hold shift + click to select a range
aabbec1
minor fixes
iliakan May 11, 2020
d9d1cfe
Add additional error type-checking examples and use `instanceof` in l…
mattbaker-digital May 15, 2020
befe535
Update task.md
wnleao May 16, 2020
ec77f84
grammar fix: a plain object
wnleao May 16, 2020
c331e44
Merge pull request #1880 from RyanAmeri/master
iliakan May 17, 2020
8a0058d
closes #1882
iliakan May 17, 2020
9353a04
Merge pull request #1894 from mKawi/patch-1
iliakan May 17, 2020
b18ae20
closes #1897
iliakan May 17, 2020
7ef7c5e
Merge pull request #1903 from mattbaker-digital/master
iliakan May 17, 2020
da1d600
minor fixes
iliakan May 17, 2020
c9d84ac
Merge pull request #1905 from kiniggit/master
iliakan May 17, 2020
873e5f7
Merge pull request #1908 from kiniggit/map_set_grammar
iliakan May 17, 2020
fef45af
correct minor error
ZYinMD May 18, 2020
fc8efbf
closes #1909
iliakan May 18, 2020
6c6d5a4
minor fixes
iliakan May 18, 2020
14eb62c
minor fixes
iliakan May 18, 2020
7fc037f
minor fixes
iliakan May 18, 2020
787409b
correct minor error: "имя" is used in place of "name"
ZYinMD May 19, 2020
4e67c0f
Remove duplicate word "soon"
desevoker May 19, 2020
4267d22
minor fixes
iliakan May 21, 2020
77cb06d
Fixed a comment, to reflect changes in the task.
Logan-Schelly May 21, 2020
333cb9d
Fixed minor typos
Logan-Schelly May 21, 2020
bdd936f
fixed grammar
May 23, 2020
3889038
Merge pull request #1912 from ZYinMD/patch-1
iliakan May 23, 2020
43a2b02
Merge pull request #1914 from ZYinMD/patch-2
iliakan May 23, 2020
e7e0fc8
Merge pull request #1915 from desevoker/patch-1
iliakan May 23, 2020
3623cc2
Merge pull request #1917 from Logan-Schelly/master
iliakan May 23, 2020
0da5b2b
Merge pull request #1920 from ekira/patch-1
iliakan May 23, 2020
8613348
Fix typo
GabrieleC May 23, 2020
46daea1
Details on cross-origin requests & credentials
ironsoul0 May 25, 2020
4fe42dd
fixed typos
kumarvaibhav45 May 26, 2020
9141a27
Merge pull request #1922 from GabrieleC/master
iliakan May 27, 2020
e1b44e8
Merge pull request #1927 from kumarvaibhav45/patch-1
iliakan May 27, 2020
4a22c98
Merge pull request #1926 from ironsoul0/patch-1
iliakan May 27, 2020
8c5fa3a
minor fixes
iliakan May 27, 2020
d36675e
minor fixes
iliakan May 27, 2020
cd2c7ce
minor
iliakan May 28, 2020
fef7155
google js guide link
tiagocastro070 May 28, 2020
075266e
Update article.md
lex111 May 30, 2020
69e4450
minor fixes
iliakan May 31, 2020
ad0a5b3
Fix for Issue #1866
tmollov May 31, 2020
479c7f9
fixes #1935
iliakan Jun 1, 2020
8f2ae7e
fixes #1931
iliakan Jun 1, 2020
9cb597e
minor fixes
iliakan Jun 1, 2020
ab93cee
minor fixes
iliakan Jun 1, 2020
d6a3bd1
minor fixes
iliakan Jun 1, 2020
5cd1314
minor fixes
iliakan Jun 1, 2020
1b2a192
minor fixes
iliakan Jun 1, 2020
a701341
Merge pull request #1932 from tmollov/master
iliakan Jun 1, 2020
7b59734
typo
iliakan Jun 1, 2020
ecfcff2
Merge pull request #1928 from tiagocastro070/google-js-guide
iliakan Jun 1, 2020
65eefe0
fixed wrong formatting
damage92 Jun 2, 2020
15a20a6
Grammar fix: Missing "is" in websocket EN article
michaelborn Jun 3, 2020
a0383c0
Add test cases for 1-js/06-advanced-functions/03-closure/9-sort-by-field
Logan-Schelly Jun 5, 2020
76bc708
remove a stray 's' that caused an error in ball drag example
syncopika Jun 6, 2020
b8fbd23
Grammar and typo fix in pointer events
dharohar-rathore Jun 6, 2020
020f2ea
Merge pull request #1946 from syncopika/master
iliakan Jun 6, 2020
d5c3ac9
Match the solution with the question on task.md
diegotc86 Jun 7, 2020
d90b204
Update phrasing on "Comparison with ||"
diegotc86 Jun 7, 2020
d35baee
closes #1949
iliakan Jun 7, 2020
0e1cdaa
Merge pull request #1950 from diegotc86/patch-2
iliakan Jun 8, 2020
cea9d8c
minor fixes
iliakan Jun 8, 2020
30c9c32
minor fixes
iliakan Jun 8, 2020
344993d
Merge pull request #1941 from GabrieleC/master
iliakan Jun 8, 2020
bba7892
Merge pull request #1944 from michaelborn/patch-1
iliakan Jun 8, 2020
675861b
Merge pull request #1945 from Logan-Schelly/testcases/closure-9
iliakan Jun 8, 2020
c2c080e
minor fixes
iliakan Jun 8, 2020
f5a3f37
minor fixes
iliakan Jun 8, 2020
21115c8
Merge pull request #1948 from diegotc86/patch-1
iliakan Jun 8, 2020
cd9c81c
Merge pull request #1947 from dharohar-rathore/master
iliakan Jun 8, 2020
b52aa94
minor fixes
iliakan Jun 9, 2020
f20fb43
Add test case/sandbox for 1-js/06-advanced-functions/06-function-obje…
Logan-Schelly Jun 10, 2020
e5fe4a0
Got rid of excessive newlines in task/sum-many-brackets sandbox code.
Logan-Schelly Jun 10, 2020
8e86159
Merge branch 'master' of https://github.com/javascript-tutorial/en.ja…
Logan-Schelly Jun 10, 2020
1358b5e
Add bottom and right properties for getCoords()
Jun 13, 2020
d3ef0d5
Fixed Wikipedia link and list markdown
LuiGeeDev Jun 15, 2020
42b0220
minor fixes
iliakan Jun 15, 2020
64b0ff3
Merge pull request #1958 from LuiGee3471/unicode-property
iliakan Jun 15, 2020
a9925f4
minor fixes
iliakan Jun 15, 2020
c13f21d
Fixed onupgradeneeded handling
xehpuk Jun 15, 2020
2e575af
Merge pull request #1959 from xehpuk/patch-1
iliakan Jun 15, 2020
267e825
Made the test cases easier to read.
Logan-Schelly Jun 15, 2020
0ef2dd3
Merge pull request #1956 from Logan-Schelly/testcases/function-object-5
iliakan Jun 16, 2020
393f1ce
Set fake timers after calling throttle
aadijoshi Jun 16, 2020
f1da3ee
Merge pull request #1962 from aadijoshi/patch-1
iliakan Jun 16, 2020
531864a
Merge pull request #1957 from chanjsq/patch-1
iliakan Jun 16, 2020
15d638e
Fix typo
rizkyzhang Jun 20, 2020
2f80cb7
Merge pull request #1964 from rizkyzhang/patch-4
iliakan Jun 20, 2020
a45788b
Correct misspelling retarteted -> retargeted
joachimklug Jun 21, 2020
c75f66a
Merge pull request #1967 from joachimklug/issue/#1966
iliakan Jun 21, 2020
1f7b137
'since this moment' -> 'from this point forward'
paroche Jun 21, 2020
e4e6a50
'where finds it and changes' -> 'where it finds and changes it'
paroche Jun 21, 2020
dde5fed
minor fixes
iliakan Jun 22, 2020
ef2760e
minor fixes
iliakan Jun 22, 2020
edfe300
Update article.md
rromanenko Jun 23, 2020
4044b75
Fix typo
dvdvdmt Jun 27, 2020
7b42ecc
minor fixes
iliakan Jun 27, 2020
b3fbb9c
minor fixes
iliakan Jun 27, 2020
97a12c4
Update article.md
akymtl Jun 27, 2020
1b1b07e
Update article.md
akymtl Jun 27, 2020
340ce43
minor fixes
iliakan Jun 27, 2020
41a1b92
Fix typo in /instanceof section (widow -> Window)
traxium Jun 28, 2020
01e584f
update solution.md
DanGhanbari Jun 28, 2020
74caa86
Typos
peachesontour Jun 30, 2020
de25423
Typos
peachesontour Jun 30, 2020
3e2309c
Update article.md
liuernan Jul 1, 2020
db102cb
Fix minor typo error: delete blank
leviding Jul 1, 2020
da9849d
fixes #1979
iliakan Jul 1, 2020
ea3d179
Merge pull request #1981 from leviding/patch-13
iliakan Jul 1, 2020
ad0dd99
is 'if' operator?
lumosmind Jul 1, 2020
3eb13d5
Corrected a typo
SakiPgr Jul 2, 2020
94c8fcb
minor fixes
iliakan Jul 2, 2020
26bf51a
minor fixes
iliakan Jul 2, 2020
eb49cb9
Type mistake
pushpend3r Jul 2, 2020
f0dbc65
Fixed Type
sidd-at-git Jul 4, 2020
5ac5183
more definitive title
lumosmind Jul 4, 2020
0edc651
minor fixes
iliakan Jul 5, 2020
445bda3
minor fixes
iliakan Jul 5, 2020
d9ab352
Update article.md
shubham-maurya Jul 5, 2020
8a9f440
Fix error of BigInt
leviding Jul 6, 2020
1ad3c2c
Correct message in sandbox.view iframe
smakhl Jul 7, 2020
23fb044
Update task.md
leviding Jul 7, 2020
9e3065f
Fix a comment
zhang1pr Jul 9, 2020
3852623
8.4 Prototype methods... - Fix code typo
DaliborP Jul 10, 2020
15214dc
Update article.md
haond10adp Jul 10, 2020
56edf4a
minor fix: precedence is 5 according to MDN
Jul 11, 2020
abfa6dc
Change equality sign `=` to equality sign `==`
leviding Jul 12, 2020
450612a
Fix some confusing expression
leviding Jul 12, 2020
9e59ec1
Merge pull request #2005 from leviding/patch-17
iliakan Jul 12, 2020
1f0fcb7
minor fixes
iliakan Jul 12, 2020
c3a11c8
Merge pull request #2004 from leviding/patch-16
iliakan Jul 12, 2020
72482bc
Update article.md
paroche Jul 16, 2020
de13faf
Update bindAll of lodash
leviding Jul 17, 2020
0b7266d
Browser LocalStorage capacity updated to 5 MB.
Pankajtanwarbanna Jul 17, 2020
dfcacf2
Fix minor typo error: ol number
leviding Jul 18, 2020
7480a24
Fix minor typo error: add ol number
leviding Jul 18, 2020
356d527
Fix minor typo error: change when when to when
leviding Jul 18, 2020
0d497c7
Update article.md
leviding Jul 18, 2020
d0474ae
Update article.md
leviding Jul 18, 2020
6800c2a
Update index.html
leviding Jul 18, 2020
3558415
Merge pull request #1977 from peachesontour/patch-1
iliakan Jul 18, 2020
841d750
Merge pull request #2014 from leviding/patch-20
iliakan Jul 18, 2020
55f825c
Merge pull request #2013 from leviding/patch-19
iliakan Jul 18, 2020
b947777
Merge pull request #2012 from leviding/patch-18
iliakan Jul 18, 2020
df9effe
Merge pull request #2011 from Pankajtanwarbanna/patch-1
iliakan Jul 18, 2020
ffbf1a8
Merge pull request #2010 from leviding/patch-17
iliakan Jul 18, 2020
1f6b1c7
Merge pull request #2003 from m47h4r/minor-fix-nullish-coalescing-ope…
iliakan Jul 18, 2020
859fc13
Merge pull request #2001 from haond10adp/master
iliakan Jul 18, 2020
b4dfc5d
Merge pull request #2000 from DaliborP/patch-1
iliakan Jul 18, 2020
6e0944a
Merge pull request #1999 from zhang1pr/master
iliakan Jul 18, 2020
4716d10
Merge pull request #1997 from leviding/patch-15
iliakan Jul 18, 2020
c1767e7
Merge pull request #1996 from smakhl/patch-1
iliakan Jul 18, 2020
a896d3c
Merge pull request #1995 from leviding/patch-14
iliakan Jul 18, 2020
83c01f4
Merge pull request #1993 from shubham-maurya/patch-1
iliakan Jul 18, 2020
5641b17
Merge pull request #1989 from siddharth-golchha/patch-1
iliakan Jul 18, 2020
80f7653
Merge pull request #1987 from pushpend3r/patch-1
iliakan Jul 18, 2020
67e54bf
Merge pull request #1984 from SakiPgr/patch-1
iliakan Jul 18, 2020
e251f05
Merge pull request #1983 from lumosmind/patch-40
iliakan Jul 18, 2020
918947e
Merge pull request #1980 from liuernan/patch-1
iliakan Jul 18, 2020
86222ff
Merge pull request #1978 from peachesontour/patch-2
iliakan Jul 18, 2020
83793dc
Merge pull request #1976 from DanGhanbari/patch-1
iliakan Jul 18, 2020
5e74d7c
Merge pull request #1975 from traxium/patch-1
iliakan Jul 18, 2020
04c0570
Merge pull request #1974 from akymtl/patch-3
iliakan Jul 18, 2020
6acac10
Merge pull request #1973 from akymtl/patch-1
iliakan Jul 18, 2020
668207b
Merge pull request #1972 from dvdvdmt/patch-1
iliakan Jul 18, 2020
ae11710
Merge pull request #1970 from rromanenko/patch-1
iliakan Jul 18, 2020
4fdf4c3
to make binding more clear
lumosmind Jul 21, 2020
b70f949
grammatical fix
lumosmind Jul 21, 2020
f38eb4e
Merge pull request #2021 from lumosmind/patch-44
iliakan Jul 21, 2020
41766c9
grammar fix
lumosmind Jul 23, 2020
8e1f438
Merge pull request #1990 from lumosmind/patch-43
iliakan Jul 23, 2020
f19c56b
BigInt header grammar fix
Jul 24, 2020
7d0d654
clarifying example code
lumosmind Jul 25, 2020
dc0d915
Typo
peachesontour Jul 25, 2020
b0464bb
Merge pull request #2028 from peachesontour/patch-1
iliakan Jul 25, 2020
1f5a40f
Update article.md
peachesontour Jul 25, 2020
ed78e26
Update article.md
peachesontour Jul 27, 2020
05e1878
refactoring
lumosmind Jul 29, 2020
cdf382d
Merge pull request #2031 from lumosmind/patch-49
iliakan Jul 29, 2020
0f391b2
Update article.md
iliakan Aug 3, 2020
0f7443b
minor fixes
iliakan Aug 4, 2020
4133532
minor fixes
iliakan Aug 4, 2020
0e592a9
minor fixes
iliakan Aug 4, 2020
d2f7d14
minor fixes
iliakan Aug 4, 2020
fb4dda6
minor fixes
iliakan Aug 4, 2020
f0ad0ba
minor fixes
iliakan Aug 4, 2020
7907cd6
minor fixes
iliakan Aug 4, 2020
beaf89f
Typos
peachesontour Aug 8, 2020
7b0d477
repeated word
joaquinelio Aug 8, 2020
d4fb59b
Merge pull request #2046 from joaquinelio/patch-1
iliakan Aug 8, 2020
bb8fc43
Typos
peachesontour Aug 8, 2020
1599dec
Merge pull request #2047 from peachesontour/patch-5
iliakan Aug 8, 2020
4ff6eb4
Various minor syntax and punctuation changes
paroche Aug 9, 2020
2aab98a
Merge pull request #2050 from javascript-tutorial/paroche-patch-19
paroche Aug 9, 2020
8d13b7f
One more little phrasing change
paroche Aug 9, 2020
0557a16
Update article.md
redradist Aug 9, 2020
1cfd422
minor fixes
iliakan Aug 9, 2020
2bf8a27
minor fixes
iliakan Aug 9, 2020
fbf443e
minor fixes
iliakan Aug 9, 2020
fe12de8
Typos
peachesontour Aug 9, 2020
8a70b74
The solution here had no break, an infinite loop.
peachesontour Aug 9, 2020
3a924fc
minor fixes
iliakan Aug 10, 2020
a6c9f30
5.4 - change 7 basic types to eight basic types
arcticmatt Aug 11, 2020
a149bc0
Fixed "compatibility" spelling error
yasath Aug 13, 2020
bc92283
Update article.md
Aug 13, 2020
6615df4
Update article.md
Aug 13, 2020
665b8eb
Merge pull request #2063 from maksumi/patch-3
iliakan Aug 14, 2020
43ff24e
[Typo Correction] - "fetch" solution typo error
C17AN Aug 14, 2020
9add5e7
Merge pull request #2065 from C17AN/patch-1
iliakan Aug 14, 2020
8eab7d6
minor fixes
iliakan Aug 14, 2020
b0624a1
minor fixes
iliakan Aug 14, 2020
665b972
delete unused line
Violet-Bora-Lee Aug 16, 2020
4550b60
Update article.md
peachesontour Aug 16, 2020
fe571b3
Merge pull request #2066 from Violet-Bora-Lee/master
iliakan Aug 16, 2020
bbaa75b
Improve phrasing
bookchiq Aug 18, 2020
2c01903
Remove Edge and Firefox warning
josephrocca Aug 21, 2020
53f055c
Merge pull request #2072 from josephrocca/patch-1
iliakan Aug 21, 2020
858b733
Update task.md
iliakan Aug 22, 2020
b85413d
Update task.md
iliakan Aug 22, 2020
a99254f
once in -> once every
joaquinelio Aug 22, 2020
9380866
Update article.md
joaquinelio Aug 23, 2020
977cc0f
Update article.md
joaquinelio Aug 23, 2020
44bc57e
Date object explained clearly
AasthaSinha2305 Aug 23, 2020
243a1d3
Update solution.md
AasthaSinha2305 Aug 23, 2020
37287af
Update solution.md
AasthaSinha2305 Aug 23, 2020
3b71f76
add semicolon
sanghyoLe Aug 23, 2020
b0c5dad
Merge pull request #2076 from AasthaSinha2305/master
iliakan Aug 24, 2020
b946ee0
Removed the parts about browser compatibility
moisheschwartz Aug 24, 2020
21b83a5
Typos
peachesontour Aug 25, 2020
1190721
Update article.md
iliakan Aug 26, 2020
c1b38c8
Update article.md
iliakan Aug 26, 2020
2a6d552
updated size unit from "kb" to "KB" - [#2085]
C17AN Aug 27, 2020
721cbed
Merge pull request #2086 from C17AN/patch-2
iliakan Aug 27, 2020
689b1c4
Merge pull request #2026 from ghost/patch-1
iliakan Aug 27, 2020
d462c7e
Merge pull request #2082 from peachesontour/patch-9
iliakan Aug 27, 2020
c28563b
Merge pull request #2078 from moisheschwartz/patch-1
iliakan Aug 27, 2020
f983992
Merge pull request #2077 from sanghyo95/patch-1
iliakan Aug 27, 2020
9007790
Merge pull request #2073 from joaquinelio/patch-1
iliakan Aug 27, 2020
71988e1
Merge pull request #2069 from bookchiq/patch-1
iliakan Aug 27, 2020
ff470ec
Merge pull request #2067 from peachesontour/patch-8
iliakan Aug 27, 2020
9646a67
Merge pull request #2062 from yasath/patch-1
iliakan Aug 27, 2020
ba6ae24
Merge pull request #2058 from arcticmatt/array-patch
iliakan Aug 27, 2020
1bd9b9e
Merge pull request #2054 from peachesontour/patch-7
iliakan Aug 27, 2020
d1ac0c4
Merge pull request #2053 from peachesontour/patch-6
iliakan Aug 27, 2020
32cf594
Merge pull request #2027 from lumosmind/patch-48
iliakan Aug 27, 2020
f885527
Merge pull request #2029 from peachesontour/patch-1
iliakan Aug 27, 2020
b07a1fe
Merge pull request #2030 from peachesontour/patch-3
iliakan Aug 27, 2020
e25ccf8
Merge pull request #2044 from peachesontour/patch-4
iliakan Aug 27, 2020
f830bc5
Merge pull request #2051 from redradist/patch-1
iliakan Aug 27, 2020
654554e
merging all conflicts
iliakan Aug 31, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 25 additions & 0 deletions 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,25 @@

## Что такое JavaScript?

<<<<<<< HEAD
Изначально *JavaScript* был создан, чтобы *"сделать веб-страницы живыми"*.
=======
*JavaScript* was initially created to "make web pages alive".
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Программы на этом языке называются *скриптами*. Они могут встраиваться в HTML и выполняться автоматически при загрузке веб-страницы.

Скрипты распространяются и выполняются, как простой текст. Им не нужна специальная подготовка или компиляция для запуска.

Это отличает JavaScript от другого языка - [Java](https://ru.wikipedia.org/wiki/Java).

<<<<<<< HEAD
```smart header="Почему <u>Java</u>Script?"
Когда JavaScript создавался, у него было другое имя - "LiveScript". Однако, язык Java был очень популярен в то время, и было решено, что позиционирование JavaScript как "младшего брата" Java будет полезно.
=======
```smart header="Why is it called <u>Java</u>Script?"
When JavaScript was created, it initially had another name: "LiveScript". But Java was very popular at that time, so it was decided that positioning a new language as a "younger brother" of Java would help.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся [ECMAScript](http://ru.wikipedia.org/wiki/ECMAScript), и сейчас не имеет никакого отношения к Java.
```
Expand All @@ -38,7 +47,11 @@
2. Затем он преобразует ("компилирует") скрипт в машинный язык.
3. После этого машинный код запускается и работает достаточно быстро.

<<<<<<< HEAD
Движок применяет оптимизации на каждом этапе. Он даже просматривает скомпилированный скрипт во время его работы, анализируя проходящие через него данные, и применяет оптимизации к машинному коду, полагаясь на полученные знания. В результате скрипты работают очень быстро.
=======
The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a
```

## Что может JavaScript в браузере?
Expand All @@ -63,7 +76,11 @@

Примеры таких ограничений включают в себя:

<<<<<<< HEAD
- JavaScript на веб-странице не может читать/записывать произвольные файлы на жёстком диске, копировать их или запускать программы. Он не имеет прямого доступа к системным функциям ОС.
=======
- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Современные браузеры позволяют ему работать с файлами, но с ограниченным доступом, и предоставляют его, только если пользователь выполняет определённые действия, такие как "перетаскивание" файла в окно браузера или его выбор с помощью тега `<input>`.

Expand Down Expand Up @@ -106,10 +123,18 @@ JavaScript - это единственная браузерная техноло

Примеры таких языков:

<<<<<<< HEAD
- [CoffeeScript](http://coffeescript.org/) добавляет "синтаксический сахар" для JavaScript. Он вводит более короткий синтаксис, который позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
- [TypeScript](http://www.typescriptlang.org/) концентрируется на добавлении "строгой типизации" для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
- [Flow](http://flow.org/) тоже добавляет типизацию, но иначе. Разработан Facebook.
- [Dart](https://www.dartlang.org/) стоит особняком, потому что имеет собственный движок, работающий вне браузера (например, в мобильных приложениях). Первоначально был предложен Google, как замена JavaScript, но на данный момент необходима его транспиляция для запуска так же, как для вышеперечисленных языков.
=======
- [CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
- [TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
- [Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
- [Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
- [Brython](https://brython.info/) is a Python transpiler to JavaScript that allow to write application in pure Python without JavaScript.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Есть и другие. Но даже если мы используем один из этих языков, мы должны знать JavaScript, чтобы действительно понимать, что мы делаем.

Expand Down
15 changes: 15 additions & 0 deletions 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,23 @@ Chrome и Firefox снискали любовь подавляющего бол
- В консоли мы можем увидеть сообщение об ошибке, отрисованное красным цветом. В нашем случае скрипт содержит неизвестную команду "lalala".
- Справа присутствует ссылка на исходный код `bug.html:12` с номером строки кода, в которой эта ошибка и произошла.

<<<<<<< HEAD
Под сообщением об ошибке находится синий символ `>`. Он обозначает командную строку, в ней мы можем редактировать и запускать JavaScript-команды. Для их запуска нажмите `key:Enter`.
=======
Below the error message, there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands. Press `key:Enter` to run them.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

```smart header="Многострочный ввод"
Обычно при нажатии `key:Enter` введённая строка кода сразу выполняется.

<<<<<<< HEAD
Чтобы перенести строку, нажмите `key:Shift+Enter`. Так можно вводить более длинный JS-код.
=======
```smart header="Multi-line input"
Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.

To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a
```

Теперь мы явно видим ошибки, для начала этого вполне достаточно. Мы ещё вернёмся к инструментам разработчика позже и более подробно рассмотрим отладку кода в главе <info:debugging-chrome>.
Expand All @@ -52,11 +63,15 @@ Safari (браузер для Mac, не поддерживается в сист

Откройте Настройки (Preferences) и перейдите к панели "Продвинутые" (Advanced). В самом низу вы найдёте чекбокс:

<<<<<<< HEAD
![safari](safari.png)

Теперь консоль можно активировать нажатием клавиш `key:Cmd+Opt+C`. Также обратите внимание на новый элемент меню "Разработка" ("Develop"). В нем содержится большое количество команд и настроек.

## Итого
=======
## Summary
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

- Инструменты разработчика позволяют нам смотреть ошибки, выполнять команды, проверять значение переменных и ещё много всего полезного.
- В большинстве браузеров, работающих под Windows, инструменты разработчика можно открыть, нажав `key:F12`. В Chrome для Mac используйте комбинацию `key:Cmd+Opt+J`, Safari: `key:Cmd+Opt+C` (необходимо предварительное включение "Меню разработчика").
Expand Down
12 changes: 12 additions & 0 deletions 1-js/02-first-steps/01-hello-world/1-hello-alert/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>

<body>

<script>
alert( "I'm JavaScript!" );
</script>

</body>

</html>
2 changes: 2 additions & 0 deletions 1-js/02-first-steps/01-hello-world/1-hello-alert/solution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

[html src="index.html"]
7 changes: 6 additions & 1 deletion 1-js/02-first-steps/01-hello-world/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,13 @@

Тег `<script>` имеет несколько атрибутов, которые редко используются, но всё ещё могут встретиться в старом коде:

<<<<<<< HEAD
Атрибут `type`: <code>&lt;script <u>type</u>=...&gt;</code>
: Старый стандарт HTML, HTML4, требовал наличия этого атрибута в теге `<script>`. Обычно он имел значение `type="text/javascript"`. На текущий момент этого больше не требуется. Более того, в современном стандарте HTML смысл этого атрибута полностью изменился. Теперь он может использоваться для JavaScript-модулей. Но это тема не для начального уровня, и о ней мы поговорим в другой части учебника.
=======
The `type` attribute: <code>&lt;script <u>type</u>=...&gt;</code>
: The old HTML standard, HTML4, required a script to have a `type`. Usually it was `type="text/javascript"`. It's not required anymore. Also, the modern HTML standard totally changed the meaning of this attribute. Now, it can be used for JavaScript modules. But that's an advanced topic, we'll talk about modules in another part of the tutorial.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Атрибут `language`: <code>&lt;script <u>language</u>=...&gt;</code>
: Этот атрибут должен был задавать язык, на котором написан скрипт. Но так как JavaScript является языком по умолчанию, в этом атрибуте уже нет необходимости.
Expand Down Expand Up @@ -75,7 +80,7 @@
Можно указать и полный URL-адрес. Например:

```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
```

Для подключения нескольких скриптов используйте несколько тегов:
Expand Down
9 changes: 9 additions & 0 deletions 1-js/02-first-steps/02-structure/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,11 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert)

## Комментарии

<<<<<<< HEAD
Со временем программы становятся всё сложнее и сложнее. Возникает необходимость добавлять *комментарии*, которые бы описывали, что делает код и почему.
=======
## Comments [#code-comments]
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Комментарии могут находиться в любом месте скрипта. Они не влияют на его выполнение, поскольку движок просто игнорирует их.

Expand Down Expand Up @@ -134,8 +138,13 @@ alert('Привет');
alert('Мир');
```

<<<<<<< HEAD
```smart header="Используйте горячие клавиши!"
В большинстве редакторов строку кода можно закомментировать, нажав комбинацию клавиш `key:Ctrl+/` для однострочного комментария и что-то, вроде `key:Ctrl+Shift+/` -- для многострочных комментариев (выделите кусок кода и нажмите комбинацию клавиш). В системе Mac попробуйте `key:Cmd` вместо `key:Ctrl`.
=======
```smart header="Use hotkeys!"
In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl` and `key:Option` instead of `key:Shift`.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a
```

````warn header="Вложенные комментарии не поддерживаются!"
Expand Down
44 changes: 44 additions & 0 deletions 1-js/02-first-steps/03-strict-mode/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@
...
```

<<<<<<< HEAD
Позже мы изучим функции (способ группировки команд). Забегая вперёд, заметим, что вместо всего скрипта `"use strict"` можно поставить в начале большинства видов функций. Это позволяет включить строгий режим только в конкретной функции. Но обычно люди используют его для всего файла.

=======
Quite soon we're going to learn functions (a way to group commands), so let's note in advance that `"use strict"` can be put at the beginning of a function. Doing that enables strict mode in that function only. But usually people use it for the whole script.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

````warn header="Убедитесь, что \"use strict\" находится в начале"
Проверьте, что `"use strict"` находится в первой исполняемой строке скрипта, иначе строгий режим может не включиться.
Expand All @@ -42,16 +46,30 @@ alert("some code");
```warn header="Нет никакого способа отменить `use strict`"
Нет директивы типа `"no use strict"`, которая возвращала бы движок к старому поведению.

<<<<<<< HEAD
Как только мы входим в строгий режим, отменить это невозможно.
=======
Once we enter strict mode, there's no going back.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a
```

## Консоль браузера

<<<<<<< HEAD
В будущем, когда вы будете использовать консоль браузера для тестирования функций, обратите внимание, что `use strict` по умолчанию в ней выключен.
=======
When you use a [developer console](info:devtools) to run code, please note that it doesn't `use strict` by default.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

Иногда, когда `use strict` имеет значение, вы можете получить неправильные результаты.

<<<<<<< HEAD
Можно использовать `key:Shift+Enter` для ввода нескольких строк и написать в верхней строке `use strict`:
=======
So, how to actually `use strict` in the console?

First, you can try to press `key:Shift+Enter` to input multiple lines, and put `use strict` on top, like this:
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

```js
'use strict'; <Shift+Enter для перехода на новую строку>
Expand All @@ -61,12 +79,17 @@ alert("some code");

В большинстве браузеров, включая Chrome и Firefox, это работает.

<<<<<<< HEAD
В старых браузерах консоль не учитывает такой `use strict`, там можно "оборачивать" код в функцию, вот так:
=======
If it doesn't, e.g. in an old browser, there's an ugly, but reliable way to ensure `use strict`. Put it inside this kind of wrapper:
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a

```js
(function() {
'use strict';

<<<<<<< HEAD
// ...ваш код...
})()
```
Expand All @@ -83,3 +106,24 @@ alert("some code");
2. Строгий режим включается путём размещения `"use strict"` в начале скрипта или функции. Некоторые функции языка, такие как "классы" и "модули", автоматически включают строгий режим.
3. Строгий режим поддерживается всеми современными браузерами.
4. Мы рекомендуем всегда начинать скрипты с `"use strict"`. Все примеры в этом руководстве предполагают строгий режим, если (очень редко) не указано иное.
=======
// ...your code here...
})()
```

## Should we "use strict"?

The question may sound obvious, but it's not so.

One could recommend to start scripts with `"use strict"`... But you know what's cool?

Modern JavaScript supports "classes" and "modules" - advanced language structures (we'll surely get to them), that enable `use strict` automatically. So we don't need to add the `"use strict"` directive, if we use them.

**So, for now `"use strict";` is a welcome guest at the top of your scripts. Later, when your code is all in classes and modules, you may omit it.**

As of now, we've got to know about `use strict` in general.

In the next chapters, as we learn language features, we'll see the differences between the strict and old modes. Luckily, there aren't many and they actually make our lives better.

All examples in this tutorial assume strict mode unless (very rarely) specified otherwise.
>>>>>>> f830bc5d9454d85829e011d914f215eb5896579a
Loading