Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
356 commits
Select commit Hold shift + click to select a range
23da191
minor fixes
iliakan Nov 22, 2020
3cb134f
Merge pull request #2307 from vsemozhetbyt/patch-11
iliakan Nov 23, 2020
bd44850
fix nested markdown
joaquinelio Nov 24, 2020
1e590d6
Merge pull request #2310 from joaquinelio/patch-3
iliakan Nov 24, 2020
58136cb
Update article.md
paroche Nov 24, 2020
dcb3758
Merge pull request #2311 from javascript-tutorial/paroche-patch-20
paroche Nov 24, 2020
865c329
Further minor changes to punctuation and wording
paroche Nov 24, 2020
ac92672
And a little more
paroche Nov 24, 2020
54378cb
Correct subhead in 3.1 (Popups and window methods)
vsemozhetbyt Nov 24, 2020
246c6c4
Merge branch 'master' into patch-1
iliakan Nov 24, 2020
501adfd
Merge pull request #2187 from vsemozhetbyt/patch-1
iliakan Nov 24, 2020
c066fea
Merge pull request #2191 from vsemozhetbyt/patch-2
iliakan Nov 24, 2020
50a20d1
Merge pull request #2298 from manjufy/patch-1
iliakan Nov 24, 2020
f7b2208
Fix typo in 2.3.1 (Mouse events)
vsemozhetbyt Nov 17, 2020
b7a7e68
Fix typo in 2.99.2 (Selection and Range)
vsemozhetbyt Nov 23, 2020
a9d2363
Merge pull request #2296 from odsantos/update-strings
iliakan Nov 24, 2020
dd02130
Merge pull request #2295 from vsemozhetbyt/patch-10
iliakan Nov 24, 2020
aacdf01
Merge pull request #2192 from vsemozhetbyt/patch-3
iliakan Nov 24, 2020
7211729
Merge pull request #2193 from vsemozhetbyt/patch-4
iliakan Nov 24, 2020
445d2c8
minor fixes
iliakan Nov 24, 2020
79710c4
Update article.md
patrikbego Nov 24, 2020
50c3e3d
Merge pull request #2199 from vsemozhetbyt/patch-6
iliakan Nov 25, 2020
9700f82
Merge pull request #2283 from leviding/patch-31
iliakan Nov 25, 2020
47ca608
Update README.md
iliakan Nov 25, 2020
31d9441
Update README.md
iliakan Nov 25, 2020
865174e
Merge pull request #2285 from joneskj55/patch-1
iliakan Nov 25, 2020
b8fb9d4
Merge pull request #2300 from patrikbego/patch-1
iliakan Nov 25, 2020
a2494a7
Merge pull request #2290 from vsemozhetbyt/patch-7
iliakan Nov 25, 2020
fbe2050
Merge pull request #2291 from vsemozhetbyt/patch-8
iliakan Nov 25, 2020
ba277aa
Merge pull request #2292 from joaquinelio/patch-2
iliakan Nov 25, 2020
0e79e06
example is fixed and summary is extended
lumosmind Nov 25, 2020
5f04058
Summary section is fixed
lumosmind Nov 25, 2020
2554d3d
Merge pull request #2293 from leviding/patch-33
iliakan Nov 25, 2020
b73c2a4
typo
lumosmind Nov 25, 2020
947afdd
Merge pull request #2297 from patrikbego/patch-2
iliakan Nov 25, 2020
36c0702
Merge pull request #2309 from vsemozhetbyt/patch-11
iliakan Nov 25, 2020
b3974b3
Merge pull request #2313 from vsemozhetbyt/patch-12
iliakan Nov 25, 2020
193e174
Fix possible typos in 4.1 (ArrayBuffer, binary arrays)
vsemozhetbyt Nov 25, 2020
a0b0d43
Merge pull request #2315 from vsemozhetbyt/patch-1
iliakan Nov 25, 2020
0eef950
minor fixes
iliakan Nov 25, 2020
0ac7894
minor fixes
iliakan Nov 25, 2020
fee6657
minor fixes
iliakan Nov 25, 2020
6ec4c4f
minor fixes
iliakan Nov 25, 2020
91da65d
Fix typos in 4.3 (Blob)
vsemozhetbyt Nov 25, 2020
2793f33
Fix typo in 5.2 (FormData)
vsemozhetbyt Nov 26, 2020
ae6f990
Add missing parenthesis in 5.6 (Fetch API)
vsemozhetbyt Nov 27, 2020
b79964a
Fix typos in 5.8 (XMLHttpRequest)
vsemozhetbyt Nov 28, 2020
513d36e
Expand a note in 5.8 (XMLHttpRequest)
vsemozhetbyt Nov 28, 2020
0f0a0c5
Replace deprecated property in 5.9 (Resumable file upload)
vsemozhetbyt Nov 28, 2020
8c7b981
Add information about virtual/mobile keyboards and an additional keyb…
Danziger Nov 28, 2020
c828fe3
Fix typo in 5.11 (WebSocket)
vsemozhetbyt Nov 29, 2020
e558805
fixes #2326
iliakan Nov 29, 2020
d2ebb42
Merge pull request #2288 from lumosmind/patch-54
iliakan Nov 29, 2020
b852cfe
Update article.md
joaquinelio Nov 29, 2020
ebd774d
Update 7-animation/2-css-animations/article.md
iliakan Nov 29, 2020
00f138c
Merge pull request #2140 from peachesontour/patch-14
iliakan Nov 29, 2020
6f7d9cf
minor fixes
iliakan Nov 29, 2020
8e6ace0
Merge pull request #2325 from vsemozhetbyt/patch-7
iliakan Nov 29, 2020
59c5400
Merge pull request #2324 from vsemozhetbyt/p5.9
iliakan Nov 29, 2020
277374f
Merge pull request #2323 from vsemozhetbyt/patch-6
iliakan Nov 29, 2020
4697b7b
Merge pull request #2322 from vsemozhetbyt/patch-5
iliakan Nov 29, 2020
8b98721
Merge pull request #2321 from vsemozhetbyt/patch-4
iliakan Nov 29, 2020
d05bbe0
Merge pull request #2320 from vsemozhetbyt/patch-3
iliakan Nov 29, 2020
574dd84
closes #2319
iliakan Nov 29, 2020
361c702
Merge pull request #2316 from vsemozhetbyt/patch-2
iliakan Nov 29, 2020
9065fd3
Merge pull request #2302 from patrikbego/patch-3
iliakan Nov 29, 2020
e1a3f63
Merge pull request #2327 from joaquinelio/patch-4
iliakan Nov 29, 2020
b1bee55
Fix typo in 1.99.1 (Proxy and Reflect)
vsemozhetbyt Nov 29, 2020
34e711c
Fix typo, add info in 1.11.5 (Promise API)
vsemozhetbyt Nov 29, 2020
5aebb89
Fix typos in 1.5.8 (WeakMap and WeakSet)
vsemozhetbyt Nov 29, 2020
00d2f33
Fix typo and ambiguity in 5.12 (Server Sent Events)
vsemozhetbyt Nov 30, 2020
79f3caf
Fix for issue #2314
joneskj55 Dec 1, 2020
6abb98b
Fix possible typos in 6.1 (Cookies, document.cookie)
vsemozhetbyt Dec 1, 2020
7ffb6ce
fix typo "colector" => "collector"
FantasqueX Dec 2, 2020
fd85fc5
Fix possible typos in 6.3 (IndexedDB)
vsemozhetbyt Dec 2, 2020
5c0ea29
Update article.md
Heikrana Dec 3, 2020
21dc138
Fix typo in 7.1 (Bezier curve)
vsemozhetbyt Dec 3, 2020
634e066
Update 1-js/02-first-steps/08-operators/article.md
Heikrana Dec 3, 2020
3d86152
Update article.md
Heikrana Dec 3, 2020
0928178
Fix typo in 7.2 (CSS-animations)
vsemozhetbyt Dec 3, 2020
d4c23dc
Fix bug: Clock can't be stopped when 'Start' clicked while running
PGlivicky Dec 4, 2020
6118cc0
Add a missing bracket in the solution description
PGlivicky Dec 4, 2020
268159c
Fix typo.
odsantos Dec 4, 2020
44f4795
selection
iliakan Dec 4, 2020
e112b8b
Merge pull request #2349 from odsantos/fix-arrays-typos
iliakan Dec 5, 2020
f274f4d
Merge pull request #2347 from PGlivicky/fix-clock-setinterval-solution
iliakan Dec 5, 2020
b65c625
Merge pull request #2343 from vsemozhetbyt/patch-11
iliakan Dec 5, 2020
ff40f49
Merge pull request #2342 from vsemozhetbyt/patch-10
iliakan Dec 5, 2020
3d4a6e9
Fix typos in 7.3 (JavaScript animations)
vsemozhetbyt Dec 5, 2020
441e720
Fix typo in 6.2 (LocalStorage, sessionStorage)
vsemozhetbyt Dec 1, 2020
9fab25a
Merge pull request #2329 from vsemozhetbyt/patch-2
iliakan Dec 5, 2020
75302a6
Merge pull request #2330 from vsemozhetbyt/patch-3
iliakan Dec 5, 2020
386870d
minor fixes
iliakan Dec 5, 2020
38407b1
Merge pull request #2351 from vsemozhetbyt/7.3
iliakan Dec 5, 2020
b563d4d
Merge pull request #2331 from vsemozhetbyt/patch-4
iliakan Dec 5, 2020
528b7c5
Merge pull request #2332 from vsemozhetbyt/patch-5
iliakan Dec 5, 2020
762162f
Merge pull request #2334 from joneskj55/patch-1
iliakan Dec 5, 2020
ad1df4e
Merge pull request #2336 from vsemozhetbyt/patch-6
iliakan Dec 5, 2020
59acd01
Merge pull request #2337 from vsemozhetbyt/patch-7
iliakan Dec 5, 2020
0db83b2
Merge branch 'master' into patch-1
iliakan Dec 5, 2020
d319026
Merge pull request #2338 from FantasqueX/patch-1
iliakan Dec 5, 2020
2741d5e
Merge pull request #2340 from vsemozhetbyt/patch-8
iliakan Dec 5, 2020
5ce6ce9
minor fixes
iliakan Dec 5, 2020
6d9ab12
fixes #2333
iliakan Dec 5, 2020
75a56da
fixes #2318
iliakan Dec 5, 2020
a964025
closes #2317
iliakan Dec 5, 2020
08cc593
minor fixes
iliakan Dec 5, 2020
6daaaa2
Update article.md
iliakan Dec 5, 2020
63d0f05
closes #2244
iliakan Dec 5, 2020
ec4dcb2
closes #2353
iliakan Dec 5, 2020
0585eda
closes #2248
iliakan Dec 5, 2020
211e209
closes #2225
iliakan Dec 5, 2020
b55c226
Fix typo in 8.2 (Custom elements)
vsemozhetbyt Dec 5, 2020
e8d29cb
closes #2173
iliakan Dec 6, 2020
bb5c89a
Merge pull request #2354 from vsemozhetbyt/patch-1
iliakan Dec 6, 2020
e194ec2
Fix typo in 8.3 (Shadow DOM)
vsemozhetbyt Dec 6, 2020
433ef6d
Merge pull request #2355 from vsemozhetbyt/patch-1
iliakan Dec 6, 2020
eb81e52
Fix possible typos in 1.3.6 (Polyfills and transpilers)
vsemozhetbyt Dec 6, 2020
f30b4f2
Merge pull request #2356 from vsemozhetbyt/patch-1
iliakan Dec 6, 2020
68dfa95
minor fixes
iliakan Dec 6, 2020
59a579f
Sync examples from 2 commits in 8.5 (Shadow DOM slots...)
vsemozhetbyt Dec 6, 2020
c56e6a5
Merge pull request #2357 from vsemozhetbyt/patch-1
iliakan Dec 6, 2020
76b42c3
Fix typo in 8.5 (Shadow DOM slots...)
vsemozhetbyt Dec 6, 2020
1e4b9e4
Merge pull request #2359 from vsemozhetbyt/patch-1
iliakan Dec 7, 2020
0936245
Merge pull request #2341 from vsoni101/patch-1
iliakan Dec 7, 2020
79c9513
closes #2358
iliakan Dec 7, 2020
adab443
Fixed small typo
RapTho Dec 7, 2020
5be2c04
Fix typo in 9.1 (Patterns and flags)
vsemozhetbyt Dec 7, 2020
e87f130
Merge pull request #2362 from vsemozhetbyt/patch-1
iliakan Dec 7, 2020
2cf95d8
Fix some issues in 9.2 (Character classes)
vsemozhetbyt Dec 7, 2020
7c73f64
Replace unicode with Unicode all over the book
vsemozhetbyt Dec 7, 2020
633db6f
Merge pull request #2364 from vsemozhetbyt/unicode
iliakan Dec 7, 2020
907e6c8
Fix "polyfills" typo
odsantos Dec 7, 2020
6a61c04
Fix confusing wording in 9.6 (Word boundary: \b)
vsemozhetbyt Dec 7, 2020
935ed85
Fix typo in 9.7 (Escaping, special characters)
vsemozhetbyt Dec 7, 2020
4a3d842
Fix typo in 9.8 task solution (Sets and ranges [...])
vsemozhetbyt Dec 8, 2020
b19312e
Update support note in 9.8 (Sets and ranges [...])
vsemozhetbyt Dec 8, 2020
6567009
Fix typos in 9.10 (Greedy and lazy quantifiers)
vsemozhetbyt Dec 8, 2020
f2f6500
Fix typos in 9.11 (Capturing groups)
vsemozhetbyt Dec 9, 2020
276f48d
Fix typos in 9.13 (Alternation (OR) |)
vsemozhetbyt Dec 9, 2020
6fc5b2c
Correct example in 9.14 (Lookahead and lookbehind)
vsemozhetbyt Dec 9, 2020
20916d9
Make solution in 9.14 safer
vsemozhetbyt Dec 9, 2020
ec15bd2
Fix typo in 1.99.1 (Proxy and Reflect)
jasonvitagendev Dec 10, 2020
e5d1c02
Fix typo, clarify wording in 9.15 (Catastrophic backtracking)
vsemozhetbyt Dec 10, 2020
4512a02
Update support note in 9.15 (Catastrophic backtracking)
vsemozhetbyt Dec 10, 2020
04ce728
Fix typo in 9.16 (Sticky flag "y"...)
vsemozhetbyt Dec 10, 2020
a8c22e9
Fix typo in 9.17 (Methods of RegExp and String)
vsemozhetbyt Dec 10, 2020
eb5e7da
Fixed typo
RapTho Dec 13, 2020
ba5ebbc
Merge pull request #2363 from vsemozhetbyt/patch-2
iliakan Dec 13, 2020
94c829e
Merge pull request #2384 from RapTho/master
iliakan Dec 13, 2020
92cdba0
Merge pull request #2383 from vsemozhetbyt/patch-12
iliakan Dec 13, 2020
16fda1b
Merge pull request #2381 from vsemozhetbyt/patch-11
iliakan Dec 13, 2020
19d1e33
Merge pull request #2379 from vsemozhetbyt/patch-10
iliakan Dec 13, 2020
27c3030
minor fixes
iliakan Dec 13, 2020
f716a91
minor fixes
iliakan Dec 13, 2020
4e1ab89
Merge pull request #2378 from vsemozhetbyt/patch-9
iliakan Dec 13, 2020
6fee9f0
Merge pull request #2377 from jasonvitagendev/master
iliakan Dec 13, 2020
c59c9e8
Merge pull request #2376 from vsemozhetbyt/patch-8
iliakan Dec 13, 2020
093dfe4
Merge pull request #2375 from vsemozhetbyt/patch-7
iliakan Dec 13, 2020
aae708d
Merge pull request #2374 from vsemozhetbyt/patch-6
iliakan Dec 13, 2020
e1cb0f8
Merge pull request #2373 from vsemozhetbyt/9.11
iliakan Dec 13, 2020
a1736bd
Merge pull request #2372 from vsemozhetbyt/9.10
iliakan Dec 13, 2020
985dedb
Merge pull request #2371 from vsemozhetbyt/patch-5
iliakan Dec 13, 2020
76f0732
Merge pull request #2370 from vsemozhetbyt/patch-4
iliakan Dec 13, 2020
0543fee
Merge pull request #2369 from vsemozhetbyt/patch-3
iliakan Dec 13, 2020
fd2e83c
Merge pull request #2368 from vsemozhetbyt/patch-1
iliakan Dec 13, 2020
9b68941
Merge pull request #2366 from odsantos/fix-polyfills-typo
iliakan Dec 13, 2020
8bc2e92
minor fixes
iliakan Dec 13, 2020
c275ba4
closes #2382
iliakan Dec 13, 2020
37e51e0
Typo "in any *of* language"
heypano Dec 13, 2020
23e85b3
Merge pull request #2385 from heypano/patch-1
iliakan Dec 13, 2020
7b21346
Typos + rephrasing
RapTho Dec 14, 2020
2b79ab1
minor fixes
iliakan Dec 14, 2020
7a7b25a
small rephrasings
RapTho Dec 14, 2020
9f2d200
Update 2-ui/3-event-details/7-keyboard-events/article.md
Danziger Dec 14, 2020
dfa5ec9
small reformulation
RapTho Dec 14, 2020
9a84c51
Fixed small typos
RapTho Dec 14, 2020
a43c18f
minor fixes
iliakan Dec 15, 2020
3a21dce
Add link to Kotlin/JS
tokou Dec 16, 2020
0427ecb
Reformulations
RapTho Dec 17, 2020
1af33d1
Give me five
joaquinelio Dec 20, 2020
5a14316
Update article.md
joaquinelio Dec 20, 2020
fc3f811
Merge pull request #2399 from joaquinelio/patch-2
iliakan Dec 20, 2020
f3555ee
fixed small typos
nazar-bodan Dec 20, 2020
13da056
closes #2401
iliakan Dec 22, 2020
cbdc268
Update article.md
imaverage Dec 24, 2020
33e25dc
Update article.md
Georgy-Losenkov Dec 25, 2020
83b051e
Change source of the term 'microtask'
raycon Dec 31, 2020
701392c
Merge pull request #2413 from raycon/master
iliakan Dec 31, 2020
6418344
closes #2411
iliakan Dec 31, 2020
2754e03
closes #2410
iliakan Dec 31, 2020
1404669
Merge pull request #2406 from Georgy-Losenkov/patch-1
iliakan Dec 31, 2020
b7d2820
Merge pull request #2391 from RapTho/patch-6
iliakan Dec 31, 2020
b0aa994
Merge pull request #2400 from wolfter12/fixed-small-typos
iliakan Dec 31, 2020
1fa08bc
Merge pull request #2404 from imaverage/patch-1
iliakan Dec 31, 2020
cc593c6
Update article.md
LLyaudet Dec 31, 2020
02089cf
Merge pull request #2393 from tokou/patch-1
iliakan Dec 31, 2020
98de4f4
Merge pull request #2386 from RapTho/patch-2
iliakan Dec 31, 2020
4a0da59
Merge pull request #2414 from LLyaudet/patch-2
iliakan Dec 31, 2020
b9481da
Edits based on feedback iliakan
RapTho Jan 2, 2021
bcbb5d5
Edit based on feedback iliakan
RapTho Jan 2, 2021
03b6d86
Edit based on feedback iliakan
RapTho Jan 2, 2021
04b1313
Remove keyjs.dev link under the key codes inspection snippet.
Danziger Jan 3, 2021
039716d
Merge pull request #2389 from Danziger/patch-1
iliakan Jan 3, 2021
16ac397
kotlin 404
joaquinelio Jan 4, 2021
e730c5a
Merge pull request #2416 from joaquinelio/patch-1
iliakan Jan 4, 2021
c67f8b8
Merge pull request #2388 from RapTho/patch-4
iliakan Jan 4, 2021
51f3915
Merge pull request #2390 from RapTho/patch-5
iliakan Jan 4, 2021
42ee148
Merge pull request #2395 from RapTho/patch-8
iliakan Jan 4, 2021
c350514
minor
iliakan Jan 7, 2021
32518b7
minor
iliakan Jan 7, 2021
80c4901
all operators must return a value
lumosmind Jan 7, 2021
a2561dc
Minor output typo
TaylorClay Jan 7, 2021
2229a48
Update article.md
martynov-94 Jan 8, 2021
5965ae7
Update currying function to use bind instead of wrapper pass
lakbychance Jan 9, 2021
997f392
Add the (2) point reference
lakbychance Jan 9, 2021
3b7d493
closes #2421
iliakan Jan 9, 2021
18a60ab
Merge pull request #2420 from martynov-94/patch-1
iliakan Jan 9, 2021
930485b
Merge pull request #2419 from TaylorClay/patch-1
iliakan Jan 9, 2021
12b23c7
Merge pull request #2417 from lumosmind/patch-55
iliakan Jan 9, 2021
6113f33
Merge pull request #2422 from lapstjup/patch-1
iliakan Jan 9, 2021
2027939
minor fixes
iliakan Jan 9, 2021
6a432df
parameters are also local variables
lumosmind Jan 9, 2021
86a6021
minor fixes
iliakan Jan 10, 2021
468e355
Merge pull request #2423 from lumosmind/patch-56
iliakan Jan 10, 2021
6b296c1
new.target is undefined not empty
sarscoder Jan 11, 2021
b9d5335
Merge pull request #2425 from sarscode/sarscode-constructor-new-target
iliakan Jan 11, 2021
afd41ea
each unit parts must be tested
lumosmind Jan 12, 2021
eb3b360
minor fixes
iliakan Jan 12, 2021
a27b7e2
"exception" vs "new feature" ?
joaquinelio Jan 12, 2021
73fd173
Update article.md
bilalbutt044 Jan 12, 2021
09f8ca8
individual test case for methods
lumosmind Jan 12, 2021
85fe7b8
no need to "js run"
lumosmind Jan 13, 2021
09ec05c
minor fixes
iliakan Jan 13, 2021
3c673ac
Merge pull request #2434 from lumosmind/patch-65
iliakan Jan 13, 2021
c7d3072
closes #2433
iliakan Jan 13, 2021
58e6456
minor fixes
iliakan Jan 13, 2021
003d602
Merge pull request #2432 from lumosmind/patch-62
iliakan Jan 13, 2021
9c1a0fd
Merge pull request #2431 from bilalbutt044/patch-1
iliakan Jan 13, 2021
f6d3e30
Merge pull request #2429 from lumosmind/patch-61
iliakan Jan 13, 2021
bc8b37b
minor fixes
iliakan Jan 13, 2021
4307531
Merge branch 'master' of github.com:javascript-tutorial/en.javascript…
iliakan Jan 13, 2021
15e6f2d
minor fixes
iliakan Jan 13, 2021
e95ca4b
typo
lumosmind Jan 13, 2021
9c082c8
minor fixes
iliakan Jan 13, 2021
99b2a09
Merge pull request #2437 from lumosmind/patch-68
iliakan Jan 13, 2021
8eb6f97
minor fixes
iliakan Jan 13, 2021
f797858
closes #2398
iliakan Jan 14, 2021
3a0b3f4
Merge pull request #2430 from joaquinelio/patch-1
iliakan Jan 16, 2021
764c287
merging all conflicts
iliakan Jan 18, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,20 @@ Tools modern membuat transpilasi sangat cepat dan transparan, yang memungkinkan

Contoh bahasa yang dimaksud:

<<<<<<< HEAD
- [CoffeeScript](http://coffeescript.org/) merupakan "syntactic sugar" dari JavaScript. Dia memperkenalkan syntax yang lebih pendek, memungkingkan kita menulis kode lebih bersih dan lebih presisi. Biasanya, Ruby devs menyukainya.
- [TypeScript](http://www.typescriptlang.org/) berfokus pada penambahan "strict data typing" yang menyederhanakan pengembangan dan dukungan sistem yang komplex. Ia dikembangkan oleh Microsoft.
- [Flow](http://flow.org/) juga menambahkan data typing, tapi dalam cara berbeda. Dikembangkan oleh Facebook.
- [Dart](https://www.dartlang.org/) ialah bahasa mandiri yang punya engine sendiri yang berjalan di lingkungan non-peramban (seperti mobile apps), tapi bisa juga ditranspile ke JavaScript. Dikembangkan oleh Google.
- [Brython](https://brython.info/) adalah transpiler python untuk Javascript yang memperbolehkan untuk menulis kode aplikasi didalam Python murni tanpa 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 enables the writing of applications in pure Python without JavaScript.
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Masih banyak lagi. Tentunya, jika kita menggunakan salah satu bahasa yang ditranspile tersebut, kita sebaiknya juga paham JavaScript untuk mengerti apa yang mereka lakukan.

Expand Down
12 changes: 12 additions & 0 deletions 1-js/01-getting-started/2-manuals-specifications/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,32 @@ Versi spesifikasi baru dirilis tiap tahun. Di antara rilis ini, draft spesifikas

Untuk membaca tentang fitur terkini, termasuk yang "hampir menjadi standar" (disebut "stage 3"), lihat proposalnya di <https://github.com/tc39/proposals>.

<<<<<<< HEAD
Juga, jika kamu dalam pengembangan untuk peramban, maka ada spek lain yang dibahas di [bagian kedua](info:browser-environment) di tutorial ini.
=======
Also, if you're in developing for the browser, then there are other specifications covered in the [second part](info:browser-environment) of the tutorial.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

## Manual

<<<<<<< HEAD
- **Referensi JavaScript MDN (Mozilla)** ialah manual dengan informasi dan contoh lain. Di sana bagus untuk mendapat informasi mendalam tentang metode, fungsi bahasa, dll.
=======
- **MDN (Mozilla) JavaScript Reference** is the main manual with examples and other information. It's great to get in-depth information about individual language functions, methods etc.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Kamu bisa cari di <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.

<<<<<<< HEAD
Meski, sering lebih bagus menggunakan pencarian internet. Pakai "MDN [term]" di query, misal <https://google.com/search?q=MDN+parseInt> untuk mencari fungsi `parseInt`.


- **MSDN** – Manual Microsoft dengan banyak informasi, termasuk JavaScript (sering dirujuk sebagai JScript). Jika kamu butuh sesuatu yang spesifik ke Internet Explorer, lebih baik pergi ke: <http://msdn.microsoft.com/>.

Juga, kamu bisa menggunakan pencarian internet dengan frasa seperti "RegExp MSDN" atau "RegExp MSDN jscript".
=======
Although, it's often best to use an internet search instead. Just use "MDN [term]" in the query, e.g. <https://google.com/search?q=MDN+parseInt> to search for `parseInt` function.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

## Tabel kompatibilitas

Expand Down
4 changes: 4 additions & 0 deletions 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ Supaya bisa melihat error dan memperoleh informasi berfaedah lainnya dari script

Kebanyakan pengembang memakai Chrome atau Firefox untuk pengembangan karena tools pengembangan yang mereka punya paling mantap. Peramban lain punya juga koq, ada with special features, but are usually playing "catch-up" to Chrome or Firefox. So most developers have a "favorite" browser and switch to others if a problem is browser-specific.

<<<<<<< HEAD
Tools pengembang mengandung faedah; mereka punya banyak fitur. Untuk memulainya, kita akan belajar cara membuka mereka, mencari error, dan menjalankan perintah JavaScript.
=======
Developer tools are potent, they have many features. To start, we'll learn how to open them, look at errors, and run JavaScript commands.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

## Google Chrome

Expand Down
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/01-hello-world/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ Jadi pertama, kita lihat bagaimana kita menyisipkan script ke laman web. Untuk l

## Tag "script"

<<<<<<< HEAD
Program JavaScript bisa disisipkan ke dalam bagian mana saja dari dokumen HTML dengan bantuan tag `<script>`.
=======
JavaScript programs can be inserted almost anywhere into an HTML document using the `<script>` tag.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Contoh:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ Itu simpel:
let ourPlanetName = "Earth";
```

<<<<<<< HEAD
Ingat, kita bisa menggunakan nama lebih pendek `planet`, tapi itu tak akan jelas planet apa. Bagus jika lebih bertele-tele. Minimal hingga variabel isNotTooLong.
=======
Note, we could use a shorter name `planet`, but it might not be obvious what planet it refers to. It's nice to be more verbose. At least until the variable isNotTooLong.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

## Nama pengunjung saat ini

Expand Down
13 changes: 13 additions & 0 deletions 1-js/02-first-steps/08-operators/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,16 @@ alert(2 + 2 + '1' ); // "41" dan bukan "221"

Disini, operator bekerja secara bergantian. Pertama `+` menambahkan dua angka, jadi akan menghasilkan `4`, lalu selanjutnya `+` menambahkan string `1` kedalamnya, jadi akan menjadi seperti `4 + '1' = 41`.

<<<<<<< HEAD
Operator `+` hanyalah satu-satunya operator yang mendukung penggunaan string dengan cara semacan itu. Operator aritmatika lainnya hanya bekerja dengan angka dan selalu mengubah operannya menjadi angka.
=======
```js run
alert('1' + 2 + 2); // "122" and not "14"
```
Here, the first operand is a string, the compiler treats the other two operands as strings too. The `2` gets concatenated to `'1'`, so it's like `'1' + 2 = "12"` and `"12" + 2 = "122"`.

The binary `+` is the only operator that supports strings in such a way. Other arithmetic operators work only with numbers and always convert their operands to numbers.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Ini adalah contoh untuk pengurangan dan pembagian:

Expand Down Expand Up @@ -221,7 +230,11 @@ alert( x ); // 5

Fakta dari `=` menjadi sebuah operator, bukanlah sebuah hal yang "fantastis" konstruksi dari bahasa memiliki implikasi yang menarik.

<<<<<<< HEAD
Kebanyakan operator di Javascript mengembalikan sebuah nilai. Sudah jelas untuk `+` dan `-`, tetapi berlaku juga untuk `=`.
=======
All operators in JavaScript return a value. That's obvious for `+` and `-`, but also true for `=`.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Panggilan `x = value` menulis `value` ke dalam `x` *dan mengembalikannya*.

Expand Down
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/10-ifelse/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,11 @@ if (kondisi) {

## Klausa "else"

<<<<<<< HEAD
Pernyataan `if` dapat berisi blok opsional "else" opsional. Block "else" dijalankan ketika semua kondisi di atas blok "else" salah (false) semua.
=======
The `if` statement may contain an optional "else" block. It executes when the condition is falsy.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Contohnya:
```js run
Expand Down
6 changes: 6 additions & 0 deletions 1-js/02-first-steps/18-javascript-specials/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,9 +277,15 @@ Kita meliput tiga cara membuat fungsi di JavaScript:
```


<<<<<<< HEAD
- Fungsi bisa punya variabel lokal: mereka yang dideklarasi dalam badannya. Variabel macam itu cuma terlihat di dalam fungsi.
- Parameter bisa punya nilai default: `function sum(a = 1, b = 2) {...}`.
- Fungsi selalu mengembalikan sesuatu. Jika tak ada pernyataan `return`, maka kembaliannya `undefined`.
=======
- Functions may have local variables: those declared inside its body or its parameter list. Such variables are only visible inside the function.
- Parameters can have default values: `function sum(a = 1, b = 2) {...}`.
- Functions always return something. If there's no `return` statement, then the result is `undefined`.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Detil: lihat <info:function-basics>, <info:arrow-functions-basics>.

Expand Down
5 changes: 5 additions & 0 deletions 1-js/03-code-quality/01-debugging-chrome/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,13 @@ Ada tombol untuk itu di ujung atas panel kanan. Ayo kita ikuti mereka.

Mengklik ini akan melangkahi semua aksi script satu-satu.

<<<<<<< HEAD
<span class="devtools" style="background-position:-62px -192px"></span> -- "Langkahi atas": jalankan command berikutnya, tapi *jangan masuk ke fungsi*, hotkey `key:F10`.
: Serupa dengan command "Step" sebelumnya, tapi berbeda jika pernyataan berikutnya berupa panggilan fungsi. Yaitu: bukan built-in, seperti `alert`, tapi fungsi kita sendiri.
=======
<span class="devtools" style="background-position:-62px -192px"></span> -- "Step over": run the next command, but *don't go into a function*, hotkey `key:F10`.
: Similar to the previous "Step" command, but behaves differently if the next statement is a function call. That is: not a built-in, like `alert`, but a function of our own.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Command "Langkahi" masuk ke dalam dan menjeda exekusi di baris pertama, sedangkan "Kangkangi" mengexekusi panggilan fungsi bersarang secara tak terlihat, mengabaikan internal fungsi.

Expand Down
4 changes: 4 additions & 0 deletions 1-js/03-code-quality/02-coding-style/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,11 @@ Ada dua tipe indent:

Satu keutamaan spasi dari tab ialah konfigurasi indent spasi lebih flexibel dari simbol tab.

<<<<<<< HEAD
Misalnya, kita bisa mengalinea argumen dengan bracket pembuka, seperti ini:
=======
For instance, we can align the parameters with the opening bracket, like this:
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

```js no-beautify
show(parameters,
Expand Down
91 changes: 88 additions & 3 deletions 1-js/03-code-quality/06-polyfills/article.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
<<<<<<< HEAD
# Polyfills
=======

# Polyfills and transpilers
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

JavaScript secara konsisten terus berevolusi. Proposal-proposal untuk menambah fitur-fitur baru terus bermunculan. Proposal-proposal ini akan didaftarkan pada <https://tc39.github.io/ecma262/> jika memang berpotensi dan layak untuk ditambahkan dalam standard dalam bahasa pemrograman JavaScript. Kemudian proposal-proposal yang telah diterima akan dimasukkan dalam [daftar spesifikasi](http://www.ecma-international.org/publications/standards/Ecma-262.htm) JavaScript.

Expand All @@ -8,8 +13,9 @@ Sangat wajar jika kebanyakan dari browser-browser yang ada hanya mengimplementas

Jika kalian ingin tahu apa saja yang didukung oleh JavaScript, bisa cek di: <https://kangax.github.io/compat-table/es6/> .

## Babel
As programmers, we'd like to use most recent features. The more good stuff - the better!

<<<<<<< HEAD
Ketika kita menggunakan fitur-fitur modern dari JavaScript, beberapa engine browser bisa jadi belum mengenal bagaimana mengerjakan perintah dari fitur-fitur tersebut. Biasanya ada beberapa fitur baru tertentu yang masih belum didukung sepenuhnya oleh browser kebanyakan.

Jadi, inilah gunanya Babel.
Expand Down Expand Up @@ -52,11 +58,48 @@ Oleh karena itu, jika kita ingin menggunakan fitur-fitur baru dari JavaScript, p

````online
Contoh-contoh yang bekerja saat dipanggil, contohnya:
=======
From the other hand, how to make out modern code work on older engines that don't understand recent features yet?

There are two tools for that:

1. Transpilers.
2. Polyfills.

Here, in this chapter, our purpose is to get the gist of how they work, and their place in web development.

## Transpilers

A [transpiler](https://en.wikipedia.org/wiki/Source-to-source_compiler) is a special piece of software that can parse ("read and understand") modern code, and rewrite it using older syntax constructs, so that the result would be the same.

```js run
alert('Press the "Play" button in the upper-right corner to run');
E.g. JavaScript before year 2020 didn't have the "nullish coalescing operator" `??`. So, if a visitor uses an outdated browser, it may fail to understand the code like `height = height ?? 100`.

A transpiler would analyze our code and rewrite `height ?? 100` into `(height !== undefined && height !== null) ? height : 100`.

```js
// before running the transpiler
height = height ?? 100;

// after running the transpiler
height = (height !== undefined && height !== null) ? height : 100;
```

Now the rewritten code is suitable for older JavaScript engines.

Usually, a developer runs the transpiler on their own computer, and then deploys the transpiled code to the server.

Speaking of names, [Babel](https://babeljs.io) is one of the most prominent transpilers out there.
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Modern project build systems, such as [webpack](http://webpack.github.io/), provide means to run transpiler automatically on every code change, so it's very easy to integrate into development process.

## Polyfills

New language features may include not only syntax constructs and operators, but also built-in functions.

For example, `Math.trunc(n)` is a function that "cuts off" the decimal part of a number, e.g `Math.trunc(1.23) = 1`.

<<<<<<< HEAD
Contoh-contoh yang menggunakan JavaScript modern dan akan hanya bekerja pada browser-browser yang mendukungnya.

````
Expand All @@ -66,3 +109,45 @@ Karena kamu sedang membaca versi offline, maka contoh-contoh pada PDF ini tidak
```

Google Chrome biasanya salah satu browser yang selalu mengikuti perkembangan implementasi fitur-fitur baru JavaScript. Kerennya lagi, jika kamu mengetik sebuah skrip menggunakan sebuah fitur baru, Google Chrome akan menterjemahkannya otomatis tanpa kamu harus menggunakan sebuah Polifyll dan sebuah mesin penerjemah.
=======
In some (very outdated) JavaScript engines, there's no `Math.trunc`, so such code will fail.

As we're talking about new functions, not syntax changes, there's no need to transpile anything here. We just need to declare the missing function.

A script that updates/adds new functions is called "polyfill". It "fills in" the gap and adds missing implementations.

For this particular case, the polyfill for `Math.trunc` is a script that implements it, like this:

```js
if (!Math.trunc) { // if no such function
// implement it
Math.trunc = function(number) {
// Math.ceil and Math.floor exist even in ancient JavaScript engines
// they are covered later in the tutorial
return number < 0 ? Math.ceil(number) : Math.floor(number);
};
}
```

JavaScript is a highly dynamic language, scripts may add/modify any functions, even including built-in ones.

Two interesting libraries of polyfills are:
- [core js](https://github.com/zloirock/core-js) that supports a lot, allows to include only needed features.
- [polyfill.io](http://polyfill.io) service that provides a script with polyfills, depending on the features and user's browser.


## Summary

In this chapter we'd like to motivate you to study modern and even "bleeding-edge" language features, even if they aren't yet well-supported by JavaScript engines.

Just don't forget to use transpiler (if using modern syntax or operators) and polyfills (to add functions that may be missing). And they'll ensure that the code works.

For example, later when you're familiar with JavaScript, you can setup a code build system based on [webpack](http://webpack.github.io/) with [babel-loader](https://github.com/babel/babel-loader) plugin.

Good resources that show the current state of support for various features:
- <https://kangax.github.io/compat-table/es6/> - for pure JavaScript.
- <https://caniuse.com/> - for browser-related functions.

P.S. Google Chrome is usually the most up-to-date with language features, try it if a tutorial demo fails. Most tutorial demos work with any modern browser though.

>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311
4 changes: 4 additions & 0 deletions 1-js/04-object-basics/01-object/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ let user = {
```
Itu disebut koma "buntut" atau "menggantung". Memudahkan kita menambah/menghapus/memindahkan properti, karena semua barus menjadi mirip.

<<<<<<< HEAD
````smart header="Objek dengan const bisa diubah"
Perhatikan: sebuah object yang dideklarasikan dengan `const` *bisa* diubah.

Expand All @@ -117,6 +118,9 @@ Ada cara lain untuk mengubah properti objek konstan(constant), kita akan mengula
````

## Kurung siku
=======
## Square brackets
>>>>>>> 3a0b3f4e31d4c4bbe90ed4c9c6e676a888ad8311

Untuk properti multi-kata, akses dot tak bekerja:

Expand Down
Loading