https://github.com/ishtms/learn-javascript-easy-way
Learn JavaScript with easy-to-follow annotated code examples.
https://github.com/ishtms/learn-javascript-easy-way
Last synced: about 1 month ago
JSON representation
Learn JavaScript with easy-to-follow annotated code examples.
- Host: GitHub
- URL: https://github.com/ishtms/learn-javascript-easy-way
- Owner: ishtms
- Created: 2023-09-19T13:37:44.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-28T06:58:52.000Z (over 1 year ago)
- Last Synced: 2024-01-28T07:36:02.426Z (over 1 year ago)
- Language: JavaScript
- Size: 109 KB
- Stars: 30
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Learn Javascript - The Easy Way
> :warning: **Live stream**: The content of this repo, as well as the [backend framework](https://github.com/ishtms/learn-nodejs-hard-way) we're building, is being live-streamed on [YouTube](https://youtube.com/@ishtms).
This guide is designed to provide you with a thorough understanding of JavaScript, from the basics to advanced topics. Whether you're a beginner or an experienced developer, this repository will guide you through the world of JavaScript using clear explanations and well-commented code examples.
You may also check out my other repository - [Learn Node.js - The Hard Way](https://github.com/ishtms/learn-nodejs-hard-way) that takes you on a deep journey into Node.js. We build a completely functional and production ready backend framework and a logging/tracing library - all with 0 dependencies (no npm install!)
## Table of Contents
1. [Variables](./chapters/00_variables.js)
2. [Data Types](./chapters/01_data_types.js)
3. [Type Conversion](./chapters/02_type_conversion.js)
4. [Type Coercion](./chapters/03_type_coercion.js)
5. [Operators](./chapters/04_operators.js)
- [Ternary Operator](./chapters/04.1_ternary.js)
- [Nullish Coalescing](./chapters/04.2_nullish_coalescing.js)
6. [Control Flow](./chapters/05_control_flow.js)
7. [Loops](./chapters/06_loops.js)
8. [Arrays](./chapters/07_arrays.js)
9. [Strings](./chapters/08_strings.js)
10. [Functions](./chapters/09_functions.js)
11. [Scope](./chapters/10_scope.js)
12. [Objects](./chapters/12_objects.js)
- [Error Object](./chapters/12.1_error_object.js)
- [Optional Chaining](./chapters/12.1_optional_chaining.js)
13. [Inheritance with Objects](./chapters/13_inheritance_objects.js)
14. [Classes](./chapters/14_classes.js)
15. [Inheritance with Classes](./chapters/15_inheritance_classes.js)
16. [Destructuring](./chapters/16_destructuring.js)
17. [Spread and Rest Operators](./chapters/17_spread_rest.js)
18. [`this` Keyword](./chapters/18_this.js)
19. [Call, Apply, Bind](./chapters/19_call_apply_bind.js)
20. [Error Handling](./chapters/20_error_handling.js)
21. [Debugging](./chapters/21_debugging.js)
22. [Callbacks](./chapters/22_callbacks.js)
23. [Promises](./chapters/23_promises.js)
- [Async/Await](./chapters/23.1_async_await.js)
24. [Asynchronous Programming](./chapters/24_asynchronous.js)
25. [DOM Manipulation](./chapters/25_dom_manipulation.js)
26. [Events](./chapters/26_events.js)
27. [Storage](./chapters/27_storage.js)
28. [IndexedDB](./chapters/28_indexed_db.js)
29. [Symbol](./chapters/29_symbol.js)
30. [Fetch API](./chapters/30_fetch.js)
31. [Modules](./chapters/31_modules.js)
32. [Template Literals](./chapters/32_template_literals.js)
33. [Date and Time](./chapters/33_date_time.js)
34. [Math](./chapters/34_math.js)
35. [Bitwise Operations](./chapters/35_bitwise.js)
36. [Regular Expressions](./chapters/36_regex.js)
37. [`setTimeout`](./chapters/37_set_timeout.js)
38. [`setInterval`](./chapters/38_setInterval.js)
39. [`JSON.stringify`](./chapters/39_json_stringify.js)
40. [`JSON.parse`](./chapters/40_json_parse.js)
41. [Map](./chapters/41_map.js)
42. [WeakMap](./chapters/42_weak_map.js)
43. [Set](./chapters/43_set.js)
44. [WeakSet](./chapters/44_weak_map.js)
45. [Generators](./chapters/45_generators.js)
46. [Iterators](./chapters/46_iterators.js)
47. [BigInt](./chapters/47_big_int.js)
48. [Web APIs](./chapters/48.0_web_apis.js)
- [Web APIs 2](./chapters/48.1_web_apis_2.js)
- [Web APIs 3](./chapters/48.2_web_apis_3.js)
49. [Canvas](./chapters/49_canvas.js)
50. [Drag and Drop](./chapters/50_drag_drop.js)
51. [File and Blob](./chapters/51_file_and_blob.js)
52. [Websockets](./chapters/52_websockets.js)
53. [Web Workers](./chapters/53_web_workers.js)
54. [Service Workers](./chapters/54_service_workers.js)
55. [Custom Events](./chapters/55_custom_events.js)
56. [WebRTC](./chapters/56_webrtc.js)
57. [Dynamic Imports](./chapters/57_dynamic_imports.js)
58. [Decorators](./chapters/58_decorators.js)
59. [Proxy](./chapters/59_proxy.js)
60. [Reflect](./chapters/60_reflect.js)
61. [Performance](./chapters/61_performance.js)
62. [Navigator](./chapters/62_navigator.js)
63. [User Timing API](./chapters/63_user_timing_api.js)
64. [Navigation Timing](./chapters/64_navigation_timing.js)
65. [Lazy Loading](./chapters/65_lazy_loading.js)## Additional Topics (To Be Added)
There are more complex topics that I would like to cover in this repository. I will be adding them as I get time to write them. Most of them will be related to performance and optimization.
## More chapters (on demand)
If you would like to see more chapters on any specific topic, please feel free to open an issue or create a discussion. I will be happy to add more chapters to this repository.
---**Note:** This README serves as an index for the chapters available in the repository. You can click on the chapter titles to access the corresponding JavaScript files for learning.
