@@ -23,46 +23,193 @@ When someone volunteers, edit this issue with the username of the volunteer, and
2323
2424When PRs are merged, make sure to mark that page as completed!
2525
26-
2726## The JavaScript language
28-
29- * [ ] An introduction
30- * [ ] JavaScript Fundamentals
31- * [ ] Code quality
32- * [ ] Objects: the basics
27+
28+
29+ ### An introduction
30+
31+ * [ ] An Introduction to JavaScript
32+ * [ ] Code editors
33+ * [ ] Developer console
34+
35+ ### JavaScript Fundamentals
36+
37+ * [ ] Hello, world!
38+ * [ ] Code structure
39+ * [ ] The modern mode, "use strict"
40+ * [ ] Variables
3341* [ ] Data types
34- * [ ] Advanced working with functions
35- * [ ] Object properties configuration
36- * [ ] Prototypes, inheritance
42+ * [ ] Type Conversions
43+ * [ ] Operators
44+ * [ ] Comparisons
45+ * [ ] Interaction: alert, prompt, confirm
46+ * [ ] Conditional operators: if, '?'
47+ * [ ] Logical operators
48+ * [ ] Loops: while and for
49+ * [ ] The "switch" statement
50+ * [ ] Functions
51+ * [ ] Function expressions and arrows
52+ * [ ] JavaScript specials
53+
54+ ### Code quality
55+
56+ * [ ] Debugging in Chrome
57+ * [ ] Coding Style
58+ * [ ] Comments
59+ * [ ] Ninja code
60+ * [ ] Automated testing with mocha
61+ * [ ] Polyfills
62+
63+ ### Objects: the basics
64+
65+ * [ ] Objects
66+ * [ ] Garbage collection
67+ * [ ] Symbol type
68+ * [ ] Object methods, "this"
69+ * [ ] Object to primitive conversion
70+ * [ ] Constructor, operator "new"
71+
72+ ### Data types
73+
74+ * [ ] Methods of primitives
75+ * [ ] Numbers
76+ * [ ] Strings
77+ * [ ] Arrays
78+ * [ ] Array methods
79+ * [ ] Iterables
80+ * [ ] Map, Set, WeakMap and WeakSet
81+ * [ ] Object.keys, values, entries
82+ * [ ] Destructuring assignment
83+ * [ ] Date and time
84+ * [ ] JSON methods, toJSON
85+
86+ ### Advanced working with functions
87+
88+ * [ ] Recursion and stack
89+ * [ ] Rest parameters and spread operator
90+ * [ ] Closure
91+ * [ ] The old "var"
92+ * [ ] Global object
93+ * [ ] Function object, NFE
94+ * [ ] The "new Function" syntax
95+ * [ ] Scheduling: setTimeout and setInterval
96+ * [ ] Decorators and forwarding, call/apply
97+ * [ ] Function binding
98+ * [ ] Currying and partials
99+ * [ ] Arrow functions revisited
100+
101+ ### Object properties configuration
102+
103+ * [ ] Property flags and descriptors
104+ * [ ] Property getters and setters
105+
106+ ### Prototypes, inheritance
107+
108+ * [ ] Prototypal inheritance
109+ * [ ] F.prototype
110+ * [ ] Native prototypes
111+ * [ ] Prototype methods, objects without __ proto__
112+ * [ ] Getting all properties
113+
114+ ### Classes
115+
116+ * [ ] Class patterns
37117* [ ] Classes
38- * [ ] Error handling
39- * [ ] Promises, async/await
40- * [ ] Generators, advanced iteration
41- * [ ] Modules
42-
118+ * [ ] Class inheritance
119+ * [ ] Static properties and methods
120+ * [ ] Private and protected properties and methods
121+ * [ ] Extending build-in classes
122+ * [ ] Class checking: "instanceof"
123+ * [ ] Mixins
124+
125+ ### Error handling
126+
127+ * [ ] Error handling, "try..catch"
128+ * [ ] Custom errors, extending Error
129+
130+ ### Promises, async/await
131+
132+ * [ ] Introduction: callbacks
133+ * [ ] Promise
134+ * [ ] Promises chaining
135+ * [ ] Error handling with promises
136+ * [ ] Promise API
137+ * [ ] Promisification
138+ * [ ] Microtasks and event loop
139+ * [ ] Async/await
140+
141+ ### Generators, advanced iteration
142+
143+ * [ ] Generators
144+ * [ ] Async iteration and generators
145+
146+ ### Modules
147+
148+ * [ ] Modules, introduction
149+ * [ ] Export and Import
150+ * [ ] Dynamic imports
151+
43152## Browser: Document, Events, Interfaces
44-
45- * [ ] Document
46- * [ ] Introduction into Events
47- * [ ] UI Events
48- * [ ] Forms, controls
49- * [ ] Document and resource loading
50-
153+
154+
155+ ### Document
156+
157+ * [ ] Browser environment, specs
158+ * [ ] DOM tree
159+ * [ ] Walking the DOM
160+ * [ ] Searching: getElement* and querySelector*
161+ * [ ] Node properties: type, tag and contents
162+ * [ ] Attributes and properties
163+ * [ ] Modifying the document
164+ * [ ] Styles and classes
165+ * [ ] Element size and scrolling
166+ * [ ] Window sizes and scrolling
167+ * [ ] Coordinates
168+
169+ ### Introduction into Events
170+
171+ * [ ] Introduction to browser events
172+ * [ ] Bubbling and capturing
173+ * [ ] Event delegation
174+ * [ ] Browser default actions
175+ * [ ] Dispatching custom events
176+
177+ ### UI Events
178+
179+ * [ ] Mouse events basics
180+ * [ ] Moving: mouseover/out, mouseenter/leave
181+ * [ ] Drag'n'Drop with mouse events
182+ * [ ] Keyboard: keydown and keyup
183+ * [ ] Scrolling
184+
185+ ### Forms, controls
186+
187+ * [ ] Form properties and methods
188+ * [ ] Focusing: focus/blur
189+ * [ ] Events: change, input, cut, copy, paste
190+ * [ ] Form submission: event and method submit
191+
192+ ### Document and resource loading
193+
194+ * [ ] Page: DOMContentLoaded, load, beforeunload, unload
195+ * [ ] Scripts: async, defer
196+ * [ ] Resource loading: onload and onerror
197+
51198## Frames and windows
52-
199+
53200* [ ] Popups and window methods
54201* [ ] Cross-window communication
55202* [ ] The clickjacking attack
56-
203+
57204## Binary data, files
58-
205+
59206* [ ] ArrayBuffer, binary arrays
60207* [ ] TextDecoder and TextEncoder
61208* [ ] Blob
62209* [ ] File and FileReader
63-
210+
64211## Network requests
65-
212+
66213* [ ] Fetch: Basics
67214* [ ] Fetch: Download progress
68215* [ ] Fetch: Abort
@@ -71,31 +218,31 @@ When PRs are merged, make sure to mark that page as completed!
71218* [ ] URL objects
72219* [ ] XMLHttpRequest
73220* [ ] WebSocket
74-
221+
75222## Storing data in the browser
76-
223+
77224* [ ] Cookies, document.cookie
78225* [ ] LocalStorage, sessionStorage
79226* [ ] IndexedDB
80-
227+
81228## Animation
82-
229+
83230* [ ] Bezier curve
84231* [ ] CSS-animations
85232* [ ] JavaScript animations
86-
233+
87234## Web components
88-
235+
89236* [ ] From the orbital height
90237* [ ] Custom elements
91238* [ ] Shadow DOM
92239* [ ] Template element
93240* [ ] Shadow DOM slots, composition
94241* [ ] Shadow DOM styling
95242* [ ] Shadow DOM and events
96-
243+
97244## Regular expressions
98-
245+
99246* [ ] Patterns and flags
100247* [ ] Methods of RegExp and String
101248* [ ] Character classes
@@ -113,8 +260,7 @@ When PRs are merged, make sure to mark that page as completed!
113260* [ ] Unicode: flag "u"
114261* [ ] Unicode character properies \p
115262* [ ] Sticky flag "y", searching at position
116-
263+
117264## Miscellaneous
118-
265+
119266* [ ] Mutation observer
120-
0 commit comments