The JavaScript Bible – JavaScript Bootcamp

The JavaScript Bible – JavaScript Bootcamp

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 429 lectures (42h 33m) | 14.98 GB

Understand and learn JavaScript and ES6 in a one challenge-based JavaScript Bootcamp course!

This course covers everything you need to know about JavaScript and become either Frontend Web developer, or Full-stack Web Developer, or Backend developer.

This course includes more than 70 CHALLENGES and all exercise files are available in Git repositories.

We will start from the very beginning and you will learn fundamentals and basic concepts of JavaScript.

Than you will learn new features included in ES6, ES7 etc.

Also we will dive into the Node.js – environment for JavaScript code execution and you will understand what is the difference between Web Browser and Node.js.

In separate sections we will discuss Babel, NPM, Webpack and MongoDB.

Also you will learn most popular JavaScript framework – React.

JavaScript Bible was designed for developers with different levels of JavaScript knowledge.

If you are BEGINNER in JavaScript – start with very first section called JavaScript Basics.

In case you have SOME experience with JavaScript – jump directly in the sections where I cover ES6 topics such as rest/spread parameters, arrow functions, ES6 Classes etc.

If you are experienced MIDDLE or SENIOR developer with years of JavaScript development background – jump directly into the Challenges and test your knowledge. Each challenge has task and solution in separate Git branches.

What you’ll learn

  • Become a Senior JavaScript developer by learning and practicing all modern features of the JavaScript.
  • Become able easily apply to Web Developer, Frontend Developer, Backend Developer or Full Stack Web Developer jobs.
  • Learn JavaScript, ES6, NPM, Webpack, Babel, Node, React by solving tens of CHALLENGES with real-world scenarios. Each CHALLENGE has task and solution. And all of them are available in the GIT repositories that you will download at the beginning of the course.
  • Learn all FUNDAMENTAL features of the JavaScript starting from basic concepts such as Variables, Objects, Functions, Scopes, Operators and finishing with ADVANCED topics as Closures, Hoisting, IIFEs (Immediately Invoked Function Expressions), Classes and many more.
  • Learn and understand ES6 features such as Arrow functions, Destructuring, Default function parameters, Template Literals, Array helper methods, Classes
  • Understand proper methods to work with Arrays – map, forEach, reduce, filter, includes
  • Deeply understand purpose of the NPM – Node Package Manager
  • Learn and practice Babel – JavaScript Compiler
  • Learn basics of the most popular NoSQL database with JavaScript Engine – MongoDB
Table of Contents

Intro
1 Intro
2 Let’s get connected! Join the Learning Community
3 Course Navigation

EXERCISE Files and SOFTWARE Setup
4 INTRO – Exercise Files and Software Setup
5 LECTURE – Software Setup Overview
6 PRACTICE – WINDOWS ONLY – Install cmder
7 PRACTICE – Visual Studio Code Setup
8 PRACTICE – Launch Node.js and execute test JavaScript file
9 PRACTICE – Git Overview – PART 1
10 PRACTICE – Git Overview – PART 2
11 PRACTICE – Clone remote GIt repository and switch Branches
12 PRACTICE – Use SourceTree for Git repositories management

JAVASCRIPT BASICS – Intro
13 INTRO – JAVASCRIPT BASICS – Intro
14 GIT REPOSITORY FOR THIS SECTION
15 PRACTICE – Exploring Web Sites in the Browser
16 PRACTICE – Create first HTML file and start Live Server
17 PRACTICE – Add favicon to the HTML file
18 PRACTICE – JavaScript embedded into the HTML
19 DEMO – Git branches management
20 PRACTICE – JavaScript in the separate file
21 CHALLENGE – External Scripts
22 ✓ CHALLENGE – External Scripts – SOLUTION
23 PRACTICE – JavaScript in the Console of the Browser

JAVASCRIPT BASICS – Types and Variables
24 INTRO – JAVASCRIPT BASICS – Types and Variables
25 LECTURE – Object in JavaScript
26 LECTURE – Primitive vs Reference Value Types
27 PRACTICE – Exploring Primitive Value Types
28 PRACTICE – Exploring Reference Type – Object
29 LECTURE – Variable declaration using var, let and const
30 PRACTICE – Variable declaration and assignment
31 CHALLENGE – Variable Declaration and Assignment
32 CHALLENGE – Variables Reusage
33 LECTURE – Statically vs Dynamically typed Languages
34 PRACTICE – Dynamic typing in JavaScript

JAVASCRIPT BASICS – Objects
35 INTRO – JAVASCRIPT BASICS – Objects
36 LECTURE – Variety of Objects in JavaScript
37 LECTURE – Objects Modification
38 PRACTICE and CHALLENGES – Objects – PART 1
39 PRACTICE and CHALLENGES – Objects – PART 2
40 PRACTICE and CHALLENGES – Objects – PART 3
41 LECTURE – Global Objects – window and global
42 LECTURE – Methods of the Object

JAVASCRIPT BASICS – Functions
43 INTRO – JAVASCRIPT BASICS – Functions
44 LECTURE – Introduction to the Functions
45 LECTURE – Syntax of the Function
46 PRACTICE – Functions – PART 1
47 PRACTICE – Functions – PART 2
48 CHALLENGES – Functions – PART 1
49 CHALLENGES – Functions – PART 2
50 LECTURE – Function Expressions vs Function Declarations
51 PRACTICE – Function Expressions, setTimout(), setInterval()
52 CHALLENGE – Function Expressions
53 ✓ CHALLENGE – Function Expressions – SOLUTION

JAVASCRIPT BASICS – Operators
54 INTRO – JAVASCRIPT BASICS – Operators
55 LECTURE – Operators
56 LECTURE – Operands, Unary vs Binary Operators and Notations
57 PRACTICE – Arithmetic Operators – PART 1
58 PRACTICE – Arithmetic Operators – PART 2
59 PRACTICE – Comparison Operators – PART 1
60 PRACTICE – Comparison Operators – PART 2
61 PRACTICE – Logical Operators – PART 1
62 PRACTICE – Logical Operators – PART 2
63 PRACTICE – Operators Precedence and Associativity
64 CHALLENGES – Operators – PART 1
65 CHALLENGES – Operators – PART 2

JAVASCRIPT BASICS – Expressions vs Statements
66 INTRO – JAVASCRIPT BASICS – Expressions vs Statements
67 LECTURE – Expressions vs Statements – PART 1
68 LECTURE – Expressions vs Statements – PART 2
69 PRACTICE – Expressions vs Statements – PART 1
70 PRACTICE – Expressions vs Statements – PART 2
71 CHALLENGES – Expressions vs Statements

JAVASCRIPT BASICS – Scopes
72 INTRO – JAVASCRIPT BASICS – Scopes
73 LECTURE – Scopes – PART 1
74 LECTURE – Scopes – PART 2
75 LECTURE – Undeclared Variables and use strict
76 PRACTICE – Scopes – PART 1
77 PRACTICE – Scopes – PART 2
78 CHALLENGES – Scopes

JAVASCRIPT BASICS – Arrays
79 INTRO – JAVASCRIPT BASICS – Arrays
80 LECTURE – Arrays
81 LECTURE – Array Methods
82 PRACTICE – Arrays – PART 1
83 PRACTICE – Arrays – PART 2
84 CHALLENGES – Arrays

JAVASCRIPT BASICS – Loops and Conditional Statements
85 LECTURE – Introduction to the Loops
86 LECTURE – for Loop
87 LECTURE – while Loop
88 LECTURE – do while Loop
89 LECTURE – for in and for of Loops
90 PRACTICE Loops – PART 1
91 PRACTICE Loops – PART 2
92 PRACTICE Loops – Looking for loops in a pubic JavaScript library
93 LECTURE – Conditional Statements – if, if else and switch
94 LECTURE – Ternary Operator
95 PRACTICE – Conditional statements and ternary operator – PART 1
96 PRACTICE – Conditional statements and ternary operator – PART 2
97 CHALLENGES – Loops and Conditions – PART 1
98 CHALLENGES – Loops and Conditions – PART 2
99 CHALLENGES – Loops and Conditions – PART 3
100 CHALLENGES – for in and Ternary Operator

JAVASCRIPT BASICS – Advanced Topics
101 PRACTICE – Mutable vs Immutable Values
102 PRACTICE – typeof and instanceof Operators
103 PRACTICE – new Array, new String
104 PRACTICE – new Object, new Function
105 PRACTICE – Execution contexts and Execution contexts stack
106 PRACTICE – this
107 PRACTICE – call, apply methods of the Function
108 PRACTICE – bind method of the Function
109 PRACTICE – pass by value vs pass by reference
110 PRACTICE – IIFE – Immediately Invoked Function Expression
111 PRACTICE – Synchronous Code Execution
112 PRACTICE – Events and Events queue
113 PRACTICE – Callbacks – PART 1
114 PRACTICE – Callbacks – PART 2
115 PRACTICE – Closures

ES6 Variables Lifecycles
116 GIT REPOSITORY FOR THIS SECTION
117 LECTURE – Recap of the var
118 LECTURE – Scopes – Global, Function and Block
119 LECTURE – let
120 LECTURE – const
121 LECTURE – Variables Usage Guidelines
122 LECTURE – Var, Let or Const
123 CHALLENGE 1-1 – let, var and const
124 ✓ CHALLENGE 1-1 – let, var and const – SOLUTION
125 CHALLENGE 1-2 – let, var and closures
126 ✓ CHALLENGE 1-2 – let, var and closures – SOLUTION
127 LECTURE – JavaScript Engine Phases
128 LECTURE – Variable Lifecycle Phases
129 LECTURE – Var lifecycle
130 LECTURE – Undeclared variable lifecycle
131 LECTURE – Let lifecycle
132 LECTURE – Const lifecycle
133 LECTURE – Function lifecycle – Part 1
134 LECTURE – Function lifecycle – Part 2
135 LECTURE – What is finally hoisting
136 DEMO – Putting different variables lifecycles together
137 ✓ DEMO – Putting different variables lifecycles together – SOLUTION, Part 1
138 ✓ DEMO – Putting different variables lifecycles together – SOLUTION, Part 2
139 CHALLENGE 1-3 – Variable Lifecycles
140 ✓ CHALLENGE 1-3 – Variable Lifecycles – SOLUTION
141 LECTURE – Variables Phases Section Summary

ES6 Arrow functions
142 GIT REPOSITORY FOR THIS SECTION
143 LECTURE – Introduction to the Arrow Functions Section
144 LECTURE – Traditional JavaScript Functions Overview
145 LECTURE – Introduction to the Arrow Functions
146 LECTURE – Arrow Functions syntax
147 PRACTICE – Arrow Functions
148 LECTURE – Arrow Functions and this
149 LECTURE – Regular functions instead of Arrow Functions
150 CHALLENGE 2-1 – Regular vs Arrow Functions
151 ✓ CHALLENGE 2-1 – Regular vs Arrow Functions – SOLUTION
152 LECTURE – Arguments in the Functions
153 LECTURE – Arrow Functions Summary

ES5.1 Array Helper Methods
154 GIT REPOSITORY FOR THIS SECTION
155 LECTURE – forEach() Overview
156 PRACTICE – forEach()
157 CHALLENGE 3-1 – forEach() with Index
158 ✓ CHALLENGE 3-1 – forEach() with Index – SOLUTION
159 LECTURE – map() Overview
160 PRACTICE – map()
161 CHALLENGE 3-2 – map() JSON to Object
162 ✓ CHALLENGE 3-2 – map() JSON to Object – SOLUTION
163 LECTURE – filter() Overview
164 PRACTICE – filter()
165 LECTURE – find() Overview
166 PRACTICE – find()
167 CHALLENGE 3-3 – find() Single Post
168 ✓ CHALLENGE 3-3 – find() Single Post – SOLUTION
169 LECTURE – every() and some() Overview
170 PRACTICE – every() and some()
171 CHALLENGE 3-4 Is Array of Numbers Sorted
172 ✓ CHALLENGE 3-4 Is Array of Numbers Sorted – SOLUTION
173 CHALLENGE 3-5 Are Arrays Equal or not
174 ✓ CHALLENGE 3-5 Are Arrays Equal or not – SOLUTION
175 CHALLENGE 3-6 Check if Element is in Array
176 ✓ CHALLENGE 3-6 Check if Element is in Array – SOLUTION
177 LECTURE – includes() Overview
178 PRACTICE – includes()
179 CHALLENGE 3-7 Includes() with Array or Object
180 ✓ CHALLENGE 3-7 Includes() with Array or Object – SOLUTION
181 CHALLENGE 3-8 Push Element to Array if Not Exists
182 ✓ CHALLENGE 3-8 Push Element to Array if Not Exists – SOLUTION
183 LECTURE – reduce() Overview
184 PRACTICE – reduce()
185 CHALLENGE 3-9 Reduce Array of Objects
186 ✓ CHALLENGE 3-9 Reduce Array of Objects – SOLUTION
187 CHALLENGE 3-10 Reduce Array of Objects to Object
188 ✓ CHALLENGE 3-10 Reduce Array of Objects to Object – SOLUTION
189 LECTURE – Do you know how sort() works
190 LECTURE – Sorting Algorithms Overview
191 LECTURE – Stable vs Unstable Sort
192 LECTURE – sort() Overview
193 LECTURE – sort() without Arguments
194 LECTURE – sort() Analyze sorting algorithms
195 LECTURE – sort() Algorithms in different browsers
196 CHALLENGE 3-11 sort() Array of objects
197 ✓ CHALLENGE 3-11 sort() Array of objects – SOLUTION
198 CHALLENGE 3-12 sort() Long Array of objects
199 ✓ CHALLENGE 3-12 sort() Long Array of objects – SOLUTION
200 LECTURE – sort() Summary
201 LECTURE – Array helper methods Summary

ES6 Template Literals
202 GIT REPOSITORY FOR THIS SECTION
203 LECTURE – Template Literals Overview
204 LECTURE – Tagged Templates Overview
205 CHALLENGE 4-1 Template Literals
206 ✓ CHALLENGE 4-1 Template Literals – SOLUTION
207 CHALLENGE 4-2 Default tagged template
208 ✓ CHALLENGE 4-2 Default tagged template – SOLUTION

ES6 RestSpread Operators and Default Function Parameters
209 GIT REPOSITORY FOR THIS SECTION
210 LECTURE – Rest Parameters Overview
211 PRACTICE – Rest Parameters
212 LECTURE – Spread Operator Overview
213 PRACTICE – Spread Operator
214 CHALLENGE 5-1 Rest and Spread Operators
215 ✓ CHALLENGE 5-1 Rest and Spread Operators – SOLUTION
216 LECTURE – Default Function Parameters Overview
217 PRACTICE – Default Function Parameters
218 CHALLENGE 5-2 Default value without default parameters
219 ✓ CHALLENGE 5-2 Default value without default parameters – SOLUTION
220 CHALLENGE 5-3 Generate Missing Unique IDs
221 ✓ CHALLENGE 5-3 Generate Missing Unique IDs – SOLUTION PART 1
222 ✓ CHALLENGE 5-3 Generate Missing Unique IDs – SOLUTION PART 2
223 ✓ CHALLENGE 5-3 Generate Missing Unique IDs – SOLUTION PART 3
224 ✓ CHALLENGE 5-3 Generate Missing Unique IDs – SOLUTION PART 4

ES6 Enhanced Object Literals
225 GIT REPOSITORY FOR THIS SECTION
226 LECTURE – Enhanced Object Literals Overview
227 PRACTICE – Enhanced Object Literals
228 CHALLENGE 6-1 Enhanced Object Literals
229 ✓ CHALLENGE 6-1 Enhanced Object Literals – SOLUTION

ES6 Array and Object Destructuring
230 GIT REPOSITORY FOR THIS SECTION
231 LECTURE – Destructuring Overview
232 PRACTICE – Array Destructuring
233 CHALLENGE 6-2 Array Destructuring
234 ✓ CHALLENGE 6-2 Array Destructuring – SOLUTION
235 CHALLENGE 6-3 Destructure Result of the Function
236 ✓ CHALLENGE 6-3 Destructure Result of the Function – SOLUTION
237 PRACTICE – Object Destructuring – PART 1
238 LECTURE – New Variable Names and Default Values in Object Destructuring
239 PRACTICE – Object Destructuring – PART 2
240 CHALLENGE 6-4 Object Destructuring
241 ✓ CHALLENGE 6-4 Object Destructuring – SOLUTION
242 CHALLENGE 6-5 Object Destructuring and Array Helper Methods
243 ✓ CHALLENGE 6-5 Object Destructuring and Array Helper Methods – SOLUTION
244 CHALLENGE 6-6 Delete Object Properties
245 ✓ CHALLENGE 6-6 Delete Object Properties – SOLUTION

ES6 Classes, Prototypes and Function Constructors
246 GIT REPOSITORY FOR THIS SECTION
247 LECTURE – Class-based vs Prototype-based
248 LECTURE – What is inheritance
249 LECTURE – Prototype Chain
250 LECTURE – __proto__ and [[Prototype]]
251 LECTURE – What is Prototype
252 LECTURE – Don’t reassign __proto__
253 LECTURE – Native Prototypes – PART 1
254 LECTURE – Native Prototypes – PART 2
255 LECTURE – Prototypal Inheritance in JavaScript
256 PRACTICE – Function Constructors – PART 1
257 LECTURE – Function Constructors Overview
258 PRACTICE – Function Constructors – PART 2
259 PRACTICE – Function Constructors – PART 3
260 LECTURE – Object.create() Overview
261 PRACTICE – Object.create()
262 PRACTICE – Function Constructors – PART 4
263 LECTURE – Function Constructors – New Prototype in the Chain
264 CHALLENGE 7-1 Insert Prototype Into the Existing Prototype Chain
265 ✓ CHALLENGE 7-1 Insert Prototype Into the Existing Prototype Chain – SOLUTION
266 LECTURE – instanceof and typeof in the Prototype Chain
267 CHALLENGE 7-2 Fix Mistakes in the Function Constructors
268 ✓ CHALLENGE 7-2 Fix Mistakes in the Function Constructors – SOLUTION
269 LECTURE – Classes – Overview
270 LECTURE – Classes vs Function Constructors
271 PRACTICE – Classes – PART 1
272 PRACTICE – Classes – PART 2
273 PRACTICE – Classes – PART 3
274 CHALLENGE 7-3 Convert Function Constructors to Classes
275 ✓ CHALLENGE 7-3 Convert Function Constructors to Classes – SOLUTION
276 CHALLENGE 7-4 Extend Array
277 ✓ CHALLENGE 7-4 Extend Array – SOLUTION
278 CHALLENGE 7-5 Custom Push Method for Arrays
279 ✓ CHALLENGE 7-5 Custom Push Method for Arrays – SOLUTION
280 LECTURE – React and ES6 Classes
281 CHALLENGE 7-6 Classes in React – Additional Button
282 ✓ CHALLENGE 7-6 Classes in React – Additional Button – SOLUTION

Babel Introduction
283 Babel Module Introduction
284 LECTURE – What is Compiler
285 LECTURE – Compiled vs Interpreted languages
286 LECTURE – Transpiler
287 LECTURE – Transpling vs Compiling
288 LECTURE – ES5, ES6 and JavaScript
289 LECTURE – What Babel does
290 LECTURE – Why do we need Babel
291 LECTURE – ES6 support by Browsers
292 LECTURE – How many browsers need compiled ES5 code
293 PRACTICE – Babel in action – ES6 Rest operator
294 PRACTICE – Compare performance – ES6 Rest Operator(Node.js)
295 PRACTICE – Compare Performance – ES6 Rest Operator (Google Chrome)
296 CHALLENGE – Compare Performance – ES6 Destructuring
297 ✓ CHALLENGE – Compare Performance – ES6 Destructurng – SOLUTION
298 LECTURE – What is User Agent
299 LECTURE – Serve different JS files to different browers
300 LECTURE – Different JS files on the server
301 PRACTICE – Browser detection on the client
302 CHALLENGE – Detect feature support in the Browser
303 ✓ CHALLENGE – Detect feature support in the Browser – SOLUTION
304 CHALLENGE – Insert different script tags into the DOM
305 ✓ CHALLENGE – Insert different script tags into the DOM – SOLUTION
306 LECTURE – How Babel Works
307 PRACTICE – Online Babel Compiler
308 LECTURE – Install Babel Globally
309 PRACTICE – Compile JS file using Babel
310 LECTURE – Plugins and Presets

NPM – Node Package Manager
311 LECTURE – Introduction to the NPM
312 PRACTICE – Exploring NPM packages
313 LECTURE – Package.json and init
314 LECTURE – Semantic Versioning
315 LECTURE – Packages Installation
316 PRACTICE – Install package in the project
317 CHALLENGE – Install Semver package
318 ✓ CHALLENGE – Install Semver Package – SOLUTION
319 PRACTICE – Install Browserslist – package with own dependencies
320 LECTURE – Dependencies and Development Dependencies
321 PRACTICE – Examine Development Dependencies
322 PRACTICE – Browser App vs Server Package
323 CHALLENGE – Clock Browser Application
324 ✓ CHALLENGE – Clock Browser Application – SOLUTION
325 LECTURE – Clock Challenge Summary
326 LECTURE – Browser App vs Public Package
327 PRACTICE – Exploring Package Information and Versions
328 PRACTICE – Installing Specific Package Version
329 LECTURE – Why package-lock.json file is needed
330 CHALLENGE – Reinstall old package version without lock file
331 ✓ CHALLENGE – Reinstall old package version without lock file – SOLUTION
332 LECTURE – How lock file is handled
333 LECTURE – Lock file summary
334 LECTURE – Update NPM packages overview
335 CHALLENGE – Update project dependencies
336 ✓ CHALLENGE – Update project dependencies – SOLUTION
337 LECTURE – Introduction to the NPM scripts
338 PRACTICE – Start npm script
339 CHALLENGE – Create prestart script
340 ✓ CHALLENGE – Create prestart script – SOLUTION
341 PRACTICE – Custom NPM scripts
342 CHALLENGE – Run NPM scripts simultaneously
343 ✓ CHALLENGE – Run NPM scripts simultaneously – SOLUTION
344 LECTURE – NPM .bin Folder with Executable Scripts
345 PRACTICE – Explore .bin Folder on the Mac
346 PRACTICE – Explore .bin Folder on Windows
347 LECTURE – NPM Scripts Wrap-Up

Webpack
348 PRACTICE – Webpack with Zero Configuration
349 PRACTICE – Webpack Dev Server

Introduction to the MongoDB
350 LECTURE – Where MongoDB is used
351 LECTURE – Relational vs Document Databases
352 LECTURE – MongoDB Structure
353 LECTURE – MongoDB Shell and MongoDB Server
354 PRACTICE – Installation of the MongoDB on the local computer
355 PRACTICE – Launch MongoDB Server and connect to it from the MongoDB Shell
356 PRACTICE – MongoDB database in the Cloud
357 PRACTICE – Exploring MongoDB Shell
358 PRACTICE – Installing and Exploring Robo 3T (previously Robomongo)
359 LECTURE – JSON Overview
360 LECTURE – Difference between JSON and JavaScript Object
361 LECTURE – How Documents are stored in the Database – BSON Format
362 LECTURE – What is Extended JSON
363 LECTURE – Data Types representation in Extended JSON
364 LECTURE – How types are stored in BSON
365 PRACTICE – Creation of the new Collection
366 LECTURE – Insert Methods insertOne() and insertMany()
367 LECTURE – Sample Data Overview
368 PRACTICE – Insert Sample Documents into the Collection
369 LECTURE – Find Methods find() and findOne()
370 PRACTICE – Finding Documents
371 LECTURE – Query Operators Overview
372 PRACTICE – Finding Documents with Query Operators
373 LECTURE – Sort, Limit and Skip helper methods
374 PRACTICE – Sort, Limit and Skip
375 LECTURE – Update Methods updateOne() and updateMany()
376 LECTURE – Update Operators
377 PRACTICE – Updating Documents using Update Operators
378 LECTURE – Delete Methods deleteOne() and deleteMany()
379 PRACTICE – Deleting Documents
380 LECTURE – MongoDB Aggregation Framework
381 PRACTICE – Aggregating Documents
382 LECTURE – MongoDB Indexes
383 LECTURE – MongoDB Utilities
384 LECTURE – What is MongoDB Replica Set
385 LECTURE – MongoDB Drivers

Additional JavaScript Challenges
386 Intro to Additional JavaScript Challenges
387 EXERCISE FILES
388 Software Setup
389 CHALLENGE 1 – Sum numbers
390 ✓ CHALLENGE 1 – Sum numbers – SOLUTION
391 CHALLENGE 2 – Const
392 ✓ CHALLENGE 2 – Const – SOLUTION
393 CHALLENGE 3 – Let
394 ✓ CHALLENGE 3 – Let – SOLUTION
395 CHALLENGE 4 – Hoisting
396 ✓ CHALLENGE 4 – Hoisting – SOLUTION
397 CHALLENGE 5 – Ternary Operator
398 ✓ CHALLENGE 5 – Ternary Operator – SOLUTION
399 CHALLENGE 6 – Arrow Functions
400 ✓ CHALLENGE 6 – Arrow Functions – SOLUTION
401 CHALLENGE 7 – Default parameters
402 ✓ CHALLENGE 7 – Default parameters – SOLUTION
403 CHALLENGE 8 – Check presence of the function parameters
404 ✓ CHALLENGE 8 – Check presence of the function parameters – SOLUTION
405 CHALLENGE 9 – Object Destructuring
406 ✓ CHALLENGE 9 – Object Destructuring – SOLUTION
407 CHALLENGE 10 – Destructuring and Rest Operator
408 ✓ CHALLENGE 10 – Destructuring and Rest Operator – SOLUTION
409 CHALLENGE 11 – Spread Operator
410 ✓ CHALLENGE 11 – Spread Operator – SOLUTION
411 CHALLENGE 12 – Copy Array
412 ✓ CHALLENGE 12 – Copy Array – SOLUTION
413 CHALLENGE 13 – Template Literals
414 ✓ CHALLENGE 13 – Template Literals – SOLUTION
415 CHALLENGE 14 – Object Destructuring
416 ✓ CHALLENGE 14 – Object Destructuring – SOLUTION
417 CHALLENGE 15 – Iterate over String
418 ✓ CHALLENGE 15 – Iterate over String – SOLUTION
419 CHALLENGE 16 – Swap values of the two variables
420 ✓ CHALLENGE 16 – Swap values of the two variables – SOLUTION
421 CHALLENGE 17 – IIFE (Immediately Invoked Function Expression)
422 ✓ CHALLENGE 17 – IIFE (Immediately Invoked Function Expression) – SOLUTION
423 CHALLENGE 18 – Classes
424 ✓ CHALLENGE 18 – Classes – SOLUTION
425 CHALLENGE 19 – Iterate over Object
426 ✓ CHALLENGE 19 – Iterate over Object – SOLUTION
427 CHALLENGE 20 – Sum positive and negative numbers
428 ✓ CHALLENGE 20 – Sum positive and negative numbers – SOLUTION

Wrap up
429 Bonus Lecture

Homepage