scrimba
The Ultimate JavaScript Bootcamp
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

The Ultimate JavaScript Bootcamp

This playlist contains 101 interactive scrims.

The Ultimate JavaScript Bootcamp

101 lessons14 hours 12 min

1. Start using JavaScript
3:29
2. Variable basics with var
7:04
3. Better code with strict mode
9:07
4. Why Use let & const Over var
4:49
5. How Const Improves Your Code
7:02
6. Why Block Scoping Matters
7:20
7. How template literals improve strings
9:06
8. How Variables Should Be Named
7:28
9. Build Flexible Collections with Arrays
8:11
10. Check Element Existence in Arrays
10:56
11. Perform actions on all elements
10:36
12. Get Subsets of Arrays
7:46
13. Transform Arrays with .reduce()
8:05
14. Understand the Power of .reduce()
9:00
15. Avoid Mutations with Array Spread
6:58
16. Mold Arrays with the Spread Operator
12:39
17. More Flexible Arrays with Destructuring
10:07
18. Turn Objects into Flexible Arrays
16:18
19. Get unique sets of data
5:48
20. Use New, Immutable Array Features
2:37
21. Use Objects for Managing Key-Value Pairs
13:28
22. Understand Primitive vs Object Types
7:32
23. Get and modify object data
12:04
24. Easy Property Access with Destructuring
9:44
25. Merge Objects with Object Spread
10:40
26. How Maps Can Do What Objects Can't
13:12
27. What is a Closure and Why it Matters
11:24
28. Better Functions with Default Parameters
6:44
29. Shorter Functions with Arrow Functions
12:19
30. How Functions Should Be Named
6:11
31. How to shorten conditionals with ternaries
12:32
32. Even shorter conditionals with short-circuiting
9:01
33. What Are Constructor Functions?
10:30
34. Understand the Prototype Chain
7:12
35. Easy Prototypal Inheritance with Classes
8:00
36. Share Class Features with Extends
11:28
37. How To Get, Set and Simplify Classes
9:42
38. Fix Context Problems with .bind()
10:05
39. The Problem with Callbacks
5:45
40. Fix Callback Hell with Promises
12:56
41. Make Network Requests with fetch()
18:36
42. Dead-Simple Promises with async-await
10:18
43. Catch errors with async-await
6:10
44. Share App Code with Modules
15:31
45. Know What 'this' is at Any Time
20:45
46. Understand state and state management
6:25
47. How reducers help us manage state
0:00
48. Avoid imperative, write declarative code
0:00
49. Google Keep - Project Setup
5:19
50. Google Keep - Expanding and Closing Notes
6:26
51. Google Keep - Storing Notes in the App
9:23
52. Google Keep - Displaying Notes in the App
9:18
53. Google Keep - Improving Functionality
4:39
54. Google Keep - Editing Notes
17:10
55. Google Keep - Changing Note Color
13:54
56. Google Keep - Deleting Notes
3:03
57. Google Keep - Storing Notes in the Browser
4:07
58. Hacker News - Creating HTML and CSS
5:24
59. Hacker News - Adding Pages
12:38
60. Hacker News - Requesting Data from API Endpoint
11:03
61. Hacker News - Formatting Stories
9:57
62. Hacker News - Creating Separate Pages for Stories
17:50
63. Hacker News - Formatting Comments
11:58
64. Hacker News - Building a Store
14:51
65. Hacker News - Toggling Stories in and out of Favorites
12:48
66. Hacker News - Building the Favorites Page
9:20
67. Avoid Imperative, Write Declarative Code
5:57
68. How Reducers Help Manage State
18:37
69. Understand State and State Management
13:57
70. Get Unique Sets of Data
6:38
71. Improve Methods with Arrow Functions
11:38
72. Partial Application for Single-Responsibility Functions
13:43
73. Why We Need Functions
13:46
74. Conditionally Run JavaScript Code
11:11
75. What is the DOM?
5:46
76. Get Single and Multiple Elements
5:28
77. Understand and Work with Events
8:42
78. Dynamically Add CSS Styles
3:13
79. Creating and Modifying HTML Elements
3:12
80. Welcome to the course!
2:25
81. Start Using JavaScript
4:04
82. Welcome to the course!
3:04
83. Variable Basics with var
7:39
84. Better Code with Strict Mode
9:45
85. How Template Literals Improve Strings
10:38
86. Perform Actions on All Elements
9:56
87. Get and Modify Object Data
13:16
88. Catch Errors with async-await
10:27
89. How to Shorten Conditionals with Ternaries
13:26
90. Even Shorter Conditionals with Short-Circuiting
10:33
91. Module Intro: Variables & Strings
1:13
92. Module Intro: Types & Conditionals
1:04
93. Module Intro: Functions
1:00
94. Module Intro: Objects & Maps
1:16
95. Module Intro: Arrays
1:18
96. Module Intro: Classes
1:21
97. Module Intro: DOM
0:58
98. Module Intro: Async JavaScript
1:18
99. Module Intro: Google Keep Clone
1:03
100. Module Intro: Essential Concepts
1:06
101. Module Intro: Hacker News Clone
1:20