JavaScript Master Class

201 Enrolled
30 Hours
$10.99$99.99
You save 89% -

299 Lessons (30h)

  • Intro
    Intro3:38
  • EXERCISE Files and SOFTWARE Setup
    00 INTRO - Exercise Files and Software Setup0:50
    01 LECTURE - Software Setup Overview3:34
    02 PRACTICE - WINDOWS ONLY - Install "cmder"0:28
    03 PRACTICE - Visual Studio Code Setup10:33
    04 PRACTICE - Launch Node.js and execute test JavaScript file4:42
    05 PRACTICE - Git Overview - PART 110:02
    07 PRACTICE - Clone remote GIt repository and switch Branches6:50
    06 PRACTICE - Git Overview - PART 26:21
    08 PRACTICE - Use SourceTree for Git repositories management6:17
  • JAVASCRIPT BASICS - Intro
    GIT REPOSITORY FOR THIS SECTION
    1 PRACTICE - Exploring Web Sites in the Browser12:56
    2 PRACTICE - Create first HTML file and start Live Server6:18
    3 PRACTICE - Add favicon to the HTML file2:15
    4 PRACTICE - JavaScript embedded into the HTML4:04
    5 DEMO - Git branches management3:47
    6 PRACTICE - JavaScript in the separate file3:03
    7 CHALLENGE - External Scripts1:17
    8 ✓ CHALLENGE - External Scripts - SOLUTION2:35
    9 PRACTICE - JavaScript in the Console of the Browser2:34
  • JAVASCRIPT BASICS - Types and Variables
    GIT REPOSITORY FOR THIS SECTION
    10 LECTURE - Object in JavaScript3:53
    11 LECTURE - Primitive vs Reference Value Types11:29
    12 PRACTICE - Exploring Primitive Value Types13:46
    13 PRACTICE - Exploring Reference Type - Object5:55
    14 LECTURE - Variable declaration using "var", "let" and "const"9:10
    15 PRACTICE - Variable declaration and assignment13:54
    16 CHALLENGE - Variable Declaration and Assignment3:56
    17 CHALLENGE - Variables Reusage14:28
    18 LECTURE - Statically vs Dynamically typed Languages7:53
    19 PRACTICE - Dynamic typing in JavaScript9:46
  • JAVASCRIPT BASICS - Objects
    GIT REPOSITORY FOR THIS SECTION
    20 LECTURE - Variety of Objects in JavaScript5:30
    21 LECTURE - Objects Modification11:55
    22 PRACTICE and CHALLENGES - Objects - PART 110:29
    23 PRACTICE and CHALLENGES - Objects - PART 210:46
    24 PRACTICE and CHALLENGES - Objects - PART 310:39
    25 LECTURE - Global Objects - "window" and "global"9:22
    26 LECTURE - Methods of the Object2:07
  • JAVASCRIPT BASICS - Functions
    GIT REPOSITORY FOR THIS SECTION
    27 LECTURE - Introduction to the Functions6:26
    28 LECTURE - Syntax of the Function13:34
    29 PRACTICE - Functions - PART 112:59
    30 PRACTICE - Functions - PART 214:03
    31 CHALLENGES - Functions - PART 19:02
    32 CHALLENGES - Functions - PART 29:26
    33 LECTURE - Function Expressions vs Function Declarations7:01
    34 PRACTICE - Function Expressions, setTimout(), setInterval()11:26
    35 CHALLENGE - Function Expressions1:16
    36 ✓ CHALLENGE - Function Expressions - SOLUTION8:28
  • JAVASCRIPT BASICS - Operators
    GIT REPOSITORY FOR THIS SECTION
    37 LECTURE - Operators8:45
    38 LECTURE - Operands, Unary vs Binary Operators and Notations5:11
    39 PRACTICE - Arithmetic Operators - PART 18:48
    40 PRACTICE - Arithmetic Operators - PART 212:11
    41 PRACTICE - Comparison Operators - PART 110:54
    42 PRACTICE - Comparison Operators - PART 210:48
    43 PRACTICE - Logical Operators - PART 112:31
    44 PRACTICE - Logical Operators - PART 210:56
    45 PRACTICE - Operators Precedence and Associativity12:11
    46 CHALLENGES - Operators - PART 19:41
    47 CHALLENGES - Operators - PART 211:15
  • JAVASCRIPT BASICS - Expressions vs Statements
    GIT REPOSITORY FOR THIS SECTION
    48 LECTURE - Expressions vs Statements - PART 110:42
    49 LECTURE - Expressions vs Statements - PART 211:11
    50 PRACTICE - Expressions vs Statements - PART 18:49
    51 PRACTICE - Expressions vs Statements - PART 211:56
  • ES6 Variables Lifecycles
    GIT REPOSITORY FOR THIS SECTION
    11 LECTURE - Recap of the "var"7:50
    12 LECTURE - Scopes - Global, Function and Block2:26
    13 LECTURE - let10:36
    14 LECTURE - const11:52
    15 LECTURE - Variables Usage Guidelines13:05
    16 LECTURE - Var, Let or Const?16:19
    17 CHALLENGE 1-1 - let, var and const3:00
    18 ✓ CHALLENGE 1-1 - let, var and const - SOLUTION10:14
    19 CHALLENGE 1-2 - let, var and closures3:19
    20 ✓ CHALLENGE 1-2 - let, var and closures - SOLUTION10:55
    21 LECTURE - JavaScript Engine Phases2:11
    22 LECTURE - Variable Lifecycle Phases6:09
    23 LECTURE - Var lifecycle7:33
    24 LECTURE - Undecleard variable lifecycle6:02
    25 LECTURE - Let lifecycle8:29
    26 LECTURE - Const lifecycle5:51
    27 LECTURE - Function lifecycle - Part 16:16
    27 LECTURE - Function lifecycle - Part 26:02
    28 LECTURE - What is finally hoisting?1:49
    29 DEMO - Putting different variables lifecycles together4:01
    30 ✓ DEMO - Putting different variables lifecycles together - SOLUTION, Part 17:00
    31 ✓ DEMO - Putting different variables lifecycles together - SOLUTION, Part 217:26
    32 CHALLENGE 1-3 - Variable Lifecycles1:32
    33 ✓ CHALLENGE 1-3 - Variable Lifecycles - SOLUTION9:42
    34 LECTURE - Variables Phases Section Summary4:46
  • ES6 Arrow Functions
    GIT REPOSITORY FOR THIS SECTION
    35 LECTURE - Introduction to the Arrow Functions Section0:34
    36 LECTURE - Traditional JavaScript Functions Overview13:12
    37 LECTURE - Introduction to the Arrow Functions2:27
    38 LECTURE - Arrow Functions syntax8:47
    39 PRACTICE - Arrow Functions12:39
    40 LECTURE - Arrow Functions and "this"12:13
    41 LECTURE - Regular functions instead of Arrow Functions9:43
    42 CHALLENGE 2-1 - Regular vs Arrow Functions1:16
    43 ✓ CHALLENGE 2-1 - Regular vs Arrow Functions - SOLUTION11:39
    44 LECTURE - Arguments in the Functions6:22
    45 LECTURE - Arrow Functions Summary2:04
  • ES5.1 Array Helper Methods
    GIT REPOSITORY FOR THIS SECTION
    47 LECTURE - forEach() Overview3:52
    48 PRACTICE - forEach()7:10
    49 CHALLENGE 3-1 - forEach() with Index0:43
    50 ✓ CHALLENGE 3-1 - forEach() with Index - SOLUTION3:32
    51 LECTURE - map() Overview2:34
    52 PRACTICE - map()12:39
    53 CHALLENGE 3-2 - map() JSON to Object0:31
    54 ✓ CHALLENGE 3-2 - map() JSON to Object - SOLUTION8:17
    55 LECTURE - filter() Overview1:31
    56 PRACTICE - filter()3:14
    57 LECTURE - find() Overview1:48
    58 PRACTICE - find()2:38
    59 CHALLENGE 3-3 - find() Single Post0:57
    60 ✓ CHALLENGE 3-3 - find() Single Post - SOLUTION2:13
    61 LECTURE - every() and some() Overview2:36
    62 PRACTICE - every() and some()9:28
    63 CHALLENGE 3-4 Is Array of Numbers Sorted?2:00
    64 ✓ CHALLENGE 3-4 Is Array of Numbers Sorted? - SOLUTION12:38
    65 CHALLENGE 3-5 Are Arrays Equal or not?2:13
    66 ✓ CHALLENGE 3-5 Are Arrays Equal or not? - SOLUTION6:51
    67 CHALLENGE 3-6 Check if Element is in Array1:11
    68 ✓ CHALLENGE 3-6 Check if Element is in Array - SOLUTION2:22
    69 LECTURE - includes() Overview1:36
    70 PRACTICE - includes()4:28
    71 CHALLENGE 3-7 Includes() with Array or Object4:00
    72 ✓ CHALLENGE 3-7 Includes() with Array or Object - SOLUTION11:07
    73 CHALLENGE 3-8 Push Element to Array if Not Exists2:19
    74 ✓ CHALLENGE 3-8 Push Element to Array if Not Exists - SOLUTION8:54
    75 LECTURE - reduce() Overview4:03
    76 PRACTICE - reduce()16:55
    77 CHALLENGE 3-9 Reduce Array of Objects1:21
    78 ✓ CHALLENGE 3-9 Reduce Array of Objects - SOLUTION4:30
    79 CHALLENGE 3-10 Reduce Array of Objects to Object1:56
    80 ✓ CHALLENGE 3-10 Reduce Array of Objects to Object - SOLUTION9:02
    81 LECTURE - Do you know how sort() works?3:17
    82 LECTURE - Sorting Algorithms Overview3:42
    83 LECTURE - Stable vs Unstable Sort2:24
    84 LECTURE - sort() Overview4:52
    85 LECTURE - sort() without Arguments2:37
    86 LECTURE - sort() Analyze sorting algorithms10:22
    87 LECTURE - sort() Algorithms in different browsers12:37
    88 CHALLENGE 3-11 sort() Array of objects1:43
    89 ✓ CHALLENGE 3-11 sort() Array of objects - SOLUTION6:29
    90 CHALLENGE 3-12 sort() Long Array of objects1:32
    91 ✓ CHALLENGE 3-12 sort() Long Array of objects - SOLUTION14:31
    92 LECTURE - sort() Summary2:35
    93 LECTURE - Array helper methods Summary5:01
  • ES6 Template Literals
    GIT REPOSITORY FOR THIS SECTION
    94 LECTURE - Template Literals Overview11:28
    95 LECTURE - Tagged Templates Overview11:35
    96 CHALLENGE 4-1 Template Literals1:02
    97 ✓ CHALLENGE 4-1 Template Literals - SOLUTION4:05
    98 CHALLENGE 4-2 Default tagged template2:19
    99 ✓ CHALLENGE 4-2 Default tagged template - SOLUTION14:34
  • ES6 Rest/Spread Operators and Default Function Parameters
    GIT REPOSITORY FOR THIS SECTION
    100 LECTURE - Rest Parameters Overview4:50
    101 PRACTICE - Rest Parameters11:54
    102 LECTURE - Spread Operator Overview1:22
    103 PRACTICE - Spread Operator17:18
    104 CHALLENGE 5-1 Rest and Spread Operators3:05
    105 ✓ CHALLENGE 5-1 Rest and Spread Operators - SOLUTION14:18
    106 LECTURE - Default Function Parameters Overview3:24
    107 PRACTICE - Default Function Parameters15:57
    108 CHALLENGE 5-2 Default value without default parameters1:31
    109 ✓ CHALLENGE 5-2 Default value without default parameters - SOLUTION5:43
    110 CHALLENGE 5-3 Generate Missing Unique IDs3:44
    111 ✓ CHALLENGE 5-3 Generate Missing Unique IDs - SOLUTION PART 15:02
    112 ✓ CHALLENGE 5-3 Generate Missing Unique IDs - SOLUTION PART 28:02
    113 ✓ CHALLENGE 5-3 Generate Missing Unique IDs - SOLUTION PART 315:56
    114 ✓ CHALLENGE 5-3 Generate Missing Unique IDs - SOLUTION PART 411:33
  • ES6 Enhanced Object Literals
    GIT REPOSITORY FOR THIS SECTION
    115 LECTURE - Enhanced Object Literals Overview3:00
    116 PRACTICE - Enhanced Object Literals14:02
    117 CHALLENGE 6-1 Enhanced Object Literals3:51
    118 ✓ CHALLENGE 6-1 Enhanced Object Literals - SOLUTION11:56
  • ES6 Array and Object Destructuring
    GIT REPOSITORY FOR THIS SECTION
    119 LECTURE - Destructuring Overview5:16
    120 PRACTICE - Array Destructuring20:13
    121 CHALLENGE 6-2 Array Destructuring0:34
    122 ✓ CHALLENGE 6-2 Array Destructuring - SOLUTION1:50
    123 CHALLENGE 6-3 Destructure Result of the Function1:19
    124 ✓ CHALLENGE 6-3 Destructure Result of the Function - SOLUTION9:17
    125 PRACTICE - Object Destructuring - PART 114:42
    126 LECTURE - New Variable Names and Default Values in Object Destructuring3:50
    127 PRACTICE - Object Destructuring - PART 29:04
    128 CHALLENGE 6-4 Object Destructuring0:50
    129 ✓ CHALLENGE 6-4 Object Destructuring - SOLUTION5:49
    130 CHALLENGE 6-5 Object Destructuring and Array Helper Methods1:50
    131 ✓ CHALLENGE 6-5 Object Destructuring and Array Helper Methods - SOLUTION6:21
    132 CHALLENGE 6-6 Delete Object Properties0:50
    133 ✓ CHALLENGE 6-6 Delete Object Properties - SOLUTION10:44
  • ES6 Classes, Prototypes and Function Constructors
    GIT REPOSITORY FOR THIS SECTION
    134 LECTURE - Class-based vs Prototype-based3:07
    135 LECTURE - What is inheritance?4:36
    136 LECTURE - Prototype Chain5:26
    137 LECTURE - proto and [[Prototype]]5:42
    138 LECTURE - What is Prototype?5:36
    139 LECTURE - Don't reassign proto 4:43
    140 LECTURE - Native Prototypes - PART 110:34
    141 LECTURE - Native Prototypes - PART 28:48
    142 LECTURE - Prototypal Inheritance in JavaScript7:35
    143 PRACTICE - Function Constructors - PART 19:07
    144 LECTURE - Function Constructors Overview4:07
    145 PRACTICE - Function Constructors - PART 23:18
    146 PRACTICE - Function Constructors - PART 315:00
    147 LECTURE - Object.create() Overview3:24
    148 PRACTICE - Object.create()9:41
    149 PRACTICE - Function Constructors - PART 417:40
    150 LECTURE - Function Constructors - New Prototype in the Chain3:30
    151 CHALLENGE 7-1 Insert Prototype Into the Existing Prototype Chain1:31
    152 ✓ CHALLENGE 7-1 Insert Prototype Into the Existing Prototype Chain - SOLUTION7:09
    153 LECTURE - "instanceof" and "typeof" in the Prototype Chain3:52
    154 CHALLENGE 7-2 Fix Mistakes in the Function Constructors0:58
    155 ✓ CHALLENGE 7-2 Fix Mistakes in the Function Constructors - SOLUTION14:48
    156 LECTURE - Classes - Overview5:52
    157 LECTURE - Classes vs Function Constructors10:32
    158 PRACTICE - Classes - PART 113:26
    159 PRACTICE - Classes - PART 220:55
    160 PRACTICE - Classes - PART 312:33
    161 CHALLENGE 7-3 Convert Function Constructors to Classes1:45
    162 ✓ CHALLENGE 7-3 Convert Function Constructors to Classes - SOLUTION12:28
    163 CHALLENGE 7-4 Extend Array4:13
    164 ✓ CHALLENGE 7-4 Extend Array - SOLUTION11:09
    165 CHALLENGE 7-5 Custom Push Method for Arrays2:33
    166 ✓ CHALLENGE 7-5 Custom Push Method for Arrays - SOLUTION13:46
    167 LECTURE - React and ES6 Classes20:43
    168 CHALLENGE 7-6 Classes in React - Additional Button1:17
    169 ✓ CHALLENGE 7-6 Classes in React - Additional Button - SOLUTION7:24
  • Babel Introduction
    00 LECTURE - Babel Module Introduction0:23
    01 LECTURE - What is Compiler?1:15
    02 LECTURE - Compiled vs Interpreted languages4:18
    03 LECTURE - Transpiler1:28
    04 LECTURE - Transpling vs Compiling2:20
    05 LECTURE - ES5, ES6 and JavaScript3:57
    06 LECTURE - What Babel does?2:21
    07 LECTURE - Why do we need Babel?7:31
    08 LECTURE - ES6 support by Browsers6:49
    09 LECTURE - How many browsers need compiled ES5 code?2:25
    10 PRACTICE - Babel in action - ES6 Rest operator4:31
    11 PRACTICE - Compare performance - ES6 Rest Operator(Node.js)5:44
    12 PRACTICE - Compare Performance - ES6 Rest Operator (Google Chrome)2:59
    13 CHALLENGE - Compare Performance - ES6 Destructuring1:49
    14 ✓ CHALLENGE - Compare Performance - ES6 Destructurng - SOLUTION6:09
    15 LECTURE - What is User Agent?4:08
    16 LECTURE - Serve different JS files to different browers0:45
    17 LECTURE - Different JS files on the server2:06
    18 PRACTICE - Browser detection on the client4:39
    19 CHALLENGE - Detect feature support in the Browser0:28
    20 ✓ CHALLENGE - Detect feature support in the Browser - SOLUTION4:18
    21 CHALLENGE - Insert different script tags into the DOM3:09
    22 ✓ CHALLENGE - Insert different script tags into the DOM - SOLUTION6:44
    23 LECTURE - How Babel Works?1:37
    24 PRACTICE - Online Babel Compiler2:08
    25 LECTURE - Install Babel Globally3:09
    26 PRACTICE - Compile JS file using Babel2:04
    27 LECTURE - Plugins and Presets6:08
  • NPM - Node Package Manager
    01 LECTURE - Introduction to the NPM0:47
    02 PRACTICE - Exploring NPM packages1:32
    03 LECTURE - Package.json and init3:11
    04 LECTURE - Semantic Versioning4:45
    05 LECTURE - Packages Installation2:13
    06 PRACTICE - Install package in the project4:42
    07 CHALLENGE - Install Semver package0:37
    08 ✓ CHALLENGE - Install Semver Package - SOLUTION11:04
    09 PRACTICE - Install Browserslist - package with own dependencies3:22
    10 LECTURE - Dependencies and Development Dependencies2:43
    11 PRACTICE - Examine Development Dependencies6:21
    12 PRACTICE - Browser App vs Server Package4:41
    13 CHALLENGE - Clock Browser Application1:42
    14 ✓ CHALLENGE - Clock Browser Application - SOLUTION12:07
    15 LECTURE - Clock Challenge Summary2:19
    16 LECTURE - Browser App vs Public Package6:50
    17 PRACTICE - Exploring Package Information and Versions2:44
    18 PRACTICE - Installing Specific Package Version3:25
    19 LECTURE - Why package-lock.json file is needed?4:28
    20 CHALLENGE - Reinstall old package version without lock file0:58
    21 ✓ CHALLENGE - Reinstall old package version without lock file - SOLUTION3:07
    22 LECTURE - How lock file is handled10:55
    23 LECTURE - Lock file summary0:37
    24 LECTURE - Update NPM packages overview1:32
    25 CHALLENGE - Update project dependencies0:40
    26 ✓ CHALLENGE - Update project dependencies - SOLUTION5:07
    27 LECTURE - Introduction to the NPM scripts2:49
    28 PRACTICE - Start npm script2:21
    29 CHALLENGE - Create prestart script1:28
    30 ✓ CHALLENGE - Create prestart script - SOLUTION7:13
    31 PRACTICE - Custom NPM scripts2:48
    32 CHALLENGE - Run NPM scripts simultaneously1:15
    33 ✓ CHALLENGE - Run NPM scripts simultaneously - SOLUTION3:25
    34 LECTURE - NPM .bin Folder with Executable Scripts4:45
    35 PRACTICE - Explore .bin Folder on the Mac2:48
    36 PRACTICE - Explore .bin Folder on Windows1:28
    37 LECTURE - NPM Scripts Wrap-Up1:24

Everything You Need to Know to Become a JavaScript Developer

BS
Bogdan Stashchuk

Instructor

Bogdan Stashchuk is an experienced instructor with great practical background. He teaches complex stuff in an easy step-by-step manner. All his courses include practical exercises which allow you to follow along from the start of any course till the end.

Description

JavaScript is the web's most popular programming language and an absolute essential to learn for aspiring web developers. This beginner-friendly course covers everything you need to know about JavaScript to become a front-end, back-end, or full stack developer. Through 70 hands-on exercises, you'll get up to speed with JavaScript basics and advance through to expert topics.

  • Access 299 lectures & 30 hours of content 24/7
  • Learn JavaScript, ES6, NPM, Webpack, Babel, Node, & React by solving real-world problems
  • Learn JavaScript fundamentals & advanced topics
  • Understand ES6 features
  • Understand proper methods to work w/ Arrays
  • Discover the purposes of the NPM
  • Explore the basics of the NoSQL database MongoDB

Specs

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Terms

  • Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.