Companies Home Search Profile

JavaScript - The Complete Guide 2023 (Beginner + Advanced)

Focused View

Academind by Maximilian Schwarzmüller,Maximilian Schwarzmüller

50:16:11

288 View
  • 001 Introduction.mp4
    01:50
  • 002 What is JavaScript.mp4
    03:46
  • 002 what-is-javascript.pdf
  • 003 JavaScript in Action!.mp4
    09:08
  • 003 getting-started-01-first-app.zip
  • 004 Join our Online Learning Community.html
  • 005 How JavaScript Is Executed.mp4
    03:14
  • 005 how-is-js-executed.pdf
  • 006 Dynamic vs Weakly Typed Languages.mp4
    03:28
  • 006 dynamic-vs-weakly-typed.pdf
  • 007 JavaScript Executes In A Hosted Environment.mp4
    04:40
  • 007 js-host-environment.pdf
  • 008 Course Outline - Whats In This Course.mp4
    06:00
  • 008 course-content.pdf
  • 009 How To Get The Most Out Of This Course.mp4
    02:36
  • 010 Using Course Resources.html
  • 011 JavaScript vs Java.mp4
    04:02
  • 011 java-vs-js.pdf
  • 012 A Brief History Of JavaScript.mp4
    06:03
  • 012 js-history.pdf
  • 013 Setting Up a Development Environment.mp4
    11:12
  • 013 getting-started-02-first-app-done.zip
  • 014 Course FAQs.html
  • 001 Module Introduction.mp4
    01:17
  • 002 Setting Up the Project.mp4
    04:25
  • 002 basics-01-starting-project.zip
  • 003 More on Version Control & Git.html
  • 004 Adding JavaScript to the Website.mp4
    06:42
  • 004 basics-02-added-scripts-imports.zip
  • 005 Introducing Variables & Constants.mp4
    05:17
  • 005 variables-constants-overview.pdf
  • 006 Declaring & Defining Variables.mp4
    07:10
  • 006 naming-variables.pdf
  • 007 Working with Variables & Operators.mp4
    06:17
  • 007 basics-03-variables-operators.zip
  • 007 basic-operators.pdf
  • 008 Understanding the Starting Code.mp4
    01:21
  • 009 Data Types Numbers & Strings (Text).mp4
    06:01
  • 010 Using Constants.mp4
    05:11
  • 010 basics-04-added-constant.zip
  • 011 More on Strings.mp4
    15:51
  • 011 basics-05-added-template-literals.zip
  • 012 Introducing Functions.mp4
    05:50
  • 012 functions-definition.pdf
  • 013 Adding A Custom Function.mp4
    11:22
  • 013 basics-06-basic-function.zip
  • 014 Code Styles, Conventions & Syntax.html
  • 015 Returning Values.mp4
    04:31
  • 015 basics-07-function-with-return.zip
  • 016 The (Un)Importance of Code Order.mp4
    04:34
  • 017 An Introduction to Global & Local Scope.mp4
    05:31
  • 018 Shadowed Variables.html
  • 019 More about the return Statement.mp4
    02:24
  • 020 Executing Functions Indirectly.mp4
    11:10
  • 020 basics-08-user-input-function.zip
  • 021 Indirect vs Direct Function Execution - Summary.html
  • 022 Converting Data Types.mp4
    06:14
  • 022 basics-09-parseint.zip
  • 023 Mixing Numbers & Strings.html
  • 024 Splitting Code into Functions.mp4
    05:49
  • 024 basics-10-function-refactoring.zip
  • 025 Connecting all Buttons to Functions.mp4
    07:44
  • 025 basics-11-subtract-multiply-divide.zip
  • 026 Working with Code Comments.mp4
    04:09
  • 026 basics-12-comments.zip
  • 027 More Operators!.mp4
    06:39
  • 027 operators-summary.pdf
  • 028 More Core Data Types!.mp4
    04:31
  • 028 data-types-summary.pdf
  • 029 Using Arrays.mp4
    08:53
  • 029 basics-14-basic-array-with-push.zip
  • 029 basics-15-extract-array-elements.zip
  • 030 Creating Objects.mp4
    06:02
  • 031 Objects - Common Syntax Gotchas.html
  • 032 Accessing Object Data.mp4
    02:51
  • 032 basics-16-basic-object.zip
  • 033 Adding a Re-Usable Function That Uses Objects.mp4
    05:24
  • 034 undefined, null & NaN.mp4
    06:20
  • 034 undefined-null-nan.pdf
  • 035 The typeof Operator.mp4
    03:12
  • 036 Importing Scripts Correctly with defer & async.mp4
    14:37
  • 036 basics-17-finished.zip
  • 037 Importing JavaScript - Summary.html
  • 037 import-javascript-summary.pdf
  • 038 Wrap Up.mp4
    02:13
  • 039 Useful Resources & Links.html
  • 039 basics-01-starting-project.zip
  • 039 basics-02-added-scripts-imports.zip
  • 039 basics-03-variables-operators.zip
  • 039 basics-04-added-constant.zip
  • 039 basics-05-added-template-literals.zip
  • 039 basics-06-basic-function.zip
  • 039 basics-07-function-with-return.zip
  • 039 basics-08-user-input-function.zip
  • 039 basics-09-parseint.zip
  • 039 basics-10-function-refactoring.zip
  • 039 basics-11-subtract-multiply-divide.zip
  • 039 basics-12-comments.zip
  • 039 basics-13-shorthand-operators.zip
  • 039 basics-14-basic-array-with-push.zip
  • 039 basics-15-extract-array-elements.zip
  • 039 basics-16-basic-object.zip
  • 039 basics-17-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:28
  • 002 Efficient Development & Debugging - An Overview.mp4
    03:18
  • 003 Configuring the IDE Look & Feel.mp4
    02:25
  • 004 Using Shortcuts.mp4
    04:12
  • 005 Working with Auto-Completion & IDE Hints.mp4
    04:34
  • 006 Installing IDE Extensions.mp4
    02:04
  • 007 Tweaking Editor Settings.mp4
    02:15
  • 008 Utilizing Different IDE Views.mp4
    01:42
  • 009 Finding Help & Working with MDN.mp4
    05:53
  • 010 The ECMAScript Standard.html
  • 011 How to google Correctly.mp4
    01:45
  • 012 Debugging JavaScript - An Overview.mp4
    03:17
  • 013 An Error Message! No Reason To Panic!.mp4
    04:46
  • 014 Using console.log() to look into the Code.mp4
    03:49
  • 015 Next-Level Debugging with the Chrome Devtools & Breakpoints.mp4
    08:20
  • 016 Testing Code Changes Directly in the Devtools.mp4
    02:05
  • 016 dev-debugging-finished.zip
  • 017 Debugging Code directly Inside VS Code.mp4
    04:55
  • 018 Wrap Up.mp4
    01:22
  • 019 Useful Resources & Links.html
  • 019 dev-debugging-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    02:26
  • 002 Introducing if Statements & Boolean (Comparison) Operators.mp4
    09:26
  • 002 boolean-operators.pdf
  • 002 conditional-code-if-statements.pdf
  • 003 Using Booleans in Conditions & More on Text Comparisons.html
  • 004 Using if Statements.mp4
    07:23
  • 004 control-01-starting-project.zip
  • 005 Working with if, else and else-if.mp4
    05:10
  • 005 control-02-added-if.zip
  • 006 Beware When Comparing Objects & Arrays for Equality!.mp4
    04:06
  • 006 object-arrays-comparison.pdf
  • 007 The Logical AND and OR Operators.mp4
    09:10
  • 007 logical-operators-and-or.pdf
  • 008 Understanding Operator Precedence.mp4
    07:20
  • 009 Beyond true false Truthy and Falsy Values.mp4
    07:30
  • 009 falsy-and-truthy-values.pdf
  • 010 Coercion vs Conversion.html
  • 011 Setting Up a Bigger Example Project (The Monster Killer).mp4
    02:59
  • 011 control-03-monster-killer-starting-project.zip
  • 012 Adding an Attack Function.mp4
    07:57
  • 012 control-04-attack-function.zip
  • 013 Using if Statements for Checking the Win-Condition.mp4
    09:17
  • 013 control-05-attack-if-else-if.zip
  • 014 Adding More if Statements & A Strong Attack Functionality.mp4
    07:41
  • 014 control-06-strong-attack.zip
  • 015 Time for a Heal Player Functionality!.mp4
    10:15
  • 015 control-07-heal-functionality.zip
  • 016 Controlling the Conditional Bonus Life (Without Boolean Operators!).mp4
    06:00
  • 016 control-08-bonus-life-functionality.zip
  • 017 Adding a Reset Game Functionality.mp4
    06:00
  • 017 control-09-reset-logic.zip
  • 018 Validating User Input.mp4
    06:17
  • 018 control-10-player-set-initial-health.zip
  • 019 Utilizing Global Constants as Identifiers in Conditional Code.mp4
    03:20
  • 020 Adding a Conditional Battle Log.mp4
    16:37
  • 020 control-11-added-logging.zip
  • 021 Introducing the Ternary Operator.mp4
    07:31
  • 021 ternary-operator.pdf
  • 022 A Bit of Theory Statements vs Expressions.mp4
    01:40
  • 023 Logical Operator Tricks & Shorthands.mp4
    12:58
  • 023 boolean-tricks.pdf
  • 024 Logical Operators - A Quick Summary.html
  • 025 Working with the switch-case Statement.mp4
    07:10
  • 025 control-12-switch-case.zip
  • 026 Introducing Loops.mp4
    06:40
  • 026 loops-overview.pdf
  • 027 The for Loop.mp4
    07:38
  • 027 control-13-for-loop.zip
  • 028 The for-of Loop.mp4
    05:17
  • 028 control-14-for-of-loop.zip
  • 029 The for-in Loop.mp4
    06:49
  • 029 control-15-for-in.zip
  • 030 The while & do-while Loops.mp4
    08:00
  • 030 control-16-while.zip
  • 031 Controlling Loops with break.mp4
    08:11
  • 032 Controlling Iterations with continue.mp4
    02:21
  • 032 control-17-break-continue.zip
  • 033 More Control with Labeled Statements.mp4
    06:26
  • 033 control-18-labeled-statements.zip
  • 034 Error Handling with try-catch - An Introduction.mp4
    02:25
  • 034 error-handling.pdf
  • 035 Throwing Custom Errors.mp4
    05:17
  • 036 Working with try-catch to Catch & Handle Errors.mp4
    08:14
  • 036 control-19-try-catch-finished.zip
  • 037 Wrap Up.mp4
    03:21
  • 038 Useful Resources & Links.html
  • 038 control-01-starting-project.zip
  • 038 control-02-added-if.zip
  • 038 control-03-monster-killer-starting-project.zip
  • 038 control-04-attack-function.zip
  • 038 control-05-attack-if-else-if.zip
  • 038 control-06-strong-attack.zip
  • 038 control-07-heal-functionality.zip
  • 038 control-08-bonus-life-functionality.zip
  • 038 control-09-reset-logic.zip
  • 038 control-10-player-set-initial-health.zip
  • 038 control-11-added-logging.zip
  • 038 control-12-switch-case.zip
  • 038 control-13-for-loop.zip
  • 038 control-14-for-of-loop.zip
  • 038 control-15-for-in.zip
  • 038 control-16-while.zip
  • 038 control-17-break-continue.zip
  • 038 control-18-labeled-statements.zip
  • 038 control-19-try-catch-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:43
  • 002 ES5 vs ES6+ (Next Gen JS) - Evolution of JavaScript.mp4
    08:14
  • 002 js-evolution.pdf
  • 003 behind-scenes-01-starting-setup.zip
  • 003 behind-scenes-02-block-scope.zip
  • 003 var vs let & const - Introducing Block Scope.mp4
    14:32
  • 003 var-vs-let-vs-const.pdf
  • 004 Understanding Hoisting.mp4
    04:07
  • 005 Strict Mode & Writing Good Code.mp4
    05:46
  • 005 behind-scenes-03-strict-mode.zip
  • 006 How Code is Parsed & Compiled.mp4
    08:16
  • 006 js-engines-in-detail.pdf
  • 007 Inside the JavaScript Engine - How the Code Executes.mp4
    15:59
  • 007 behind-scenes-04-starting-setup-2.zip
  • 007 how-code-executes.pdf
  • 008 [DEEP DIVE] JavaScript Language vs Browser APIs.html
  • 009 Primitive vs Reference Values.mp4
    19:24
  • 009 primitive-vs-reference-values.pdf
  • 010 Garbage Collection & Memory Management.mp4
    12:00
  • 010 behind-scenes-05-callback-example.zip
  • 010 garbage-collection.pdf
  • 011 Wrap Up.mp4
    01:55
  • 012 Useful Resources & Links.html
  • 012 behind-scenes-01-starting-setup.zip
  • 012 behind-scenes-02-block-scope.zip
  • 012 behind-scenes-03-strict-mode.zip
  • 012 behind-scenes-04-starting-setup-2.zip
  • 012 behind-scenes-05-callback-example.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:31
  • 002 Recapping Functions Knowledge - What We Know Thus Far.mp4
    01:52
  • 003 Parameters vs Arguments.html
  • 004 Functions vs Methods.mp4
    05:46
  • 004 functions-01-starting-code.zip
  • 005 Functions are Objects!.mp4
    02:47
  • 006 Function Expressions Storing Functions in Variables.mp4
    05:12
  • 006 functions-02-function-expressions.zip
  • 007 Function Expressions vs Function Declarations.mp4
    02:47
  • 007 function-declaration-vs-expression.pdf
  • 008 Anonymous Functions.mp4
    05:54
  • 008 functions-03-anonymous-functions.zip
  • 009 Working on the Project Adding User Choices to the Game.mp4
    07:44
  • 009 functions-04-game-user-choice.zip
  • 010 Implementing the Core Game Logic.mp4
    07:20
  • 011 Introducing Arrow Functions.mp4
    08:41
  • 011 arrow-functions.pdf
  • 011 functions-05-arrow-functions.zip
  • 012 Different Arrow Function Syntaxes.html
  • 013 Outputting Messages to the User.mp4
    03:54
  • 013 functions-06-finished-game-logic.zip
  • 014 Default Arguments in Functions.mp4
    10:45
  • 014 functions-07-default-arguments.zip
  • 015 Introducing Rest Parameters (Rest Operator).mp4
    08:57
  • 015 functions-08-rest-parameters.zip
  • 016 Creating Functions Inside of Functions.mp4
    03:04
  • 016 functions-09-functions-in-functions.zip
  • 017 Understanding Callback Functions.mp4
    06:09
  • 017 functions-10-callback-functions.zip
  • 018 Working with bind().mp4
    08:39
  • 018 functions-11-bind-finished.zip
  • 019 Adding bind() to the Calculator Project.mp4
    03:47
  • 019 functions-revisited.zip
  • 020 call() and apply().mp4
    01:18
  • 021 Wrap Up.mp4
    02:10
  • 022 Useful Resources & Links.html
  • 022 functions-01-starting-code.zip
  • 022 functions-02-function-expressions.zip
  • 022 functions-03-anonymous-functions.zip
  • 022 functions-04-game-user-choice.zip
  • 022 functions-05-arrow-functions.zip
  • 022 functions-06-finished-game-logic.zip
  • 022 functions-07-default-arguments.zip
  • 022 functions-08-rest-parameters.zip
  • 022 functions-09-functions-in-functions.zip
  • 022 functions-10-callback-functions.zip
  • 022 functions-11-bind-finished.zip
  • 022 functions-revisited.zip
  • 001 Module Introduction.mp4
    01:48
  • 002 Whats the DOM.mp4
    06:00
  • 003 Document and Window Object.mp4
    06:20
  • 003 dom-01-starting-code.zip
  • 004 Understanding the DOM and how its created.mp4
    07:07
  • 004 the-document-object-model-dom.pdf
  • 005 Nodes & Elements - Querying the DOM Overview.mp4
    05:55
  • 005 nodes-vs-elements.pdf
  • 006 Selecting Elements in the DOM.mp4
    09:54
  • 006 dom-02-basic-selection-code.zip
  • 006 querying-elements.pdf
  • 007 Summary Node Query Methods.html
  • 008 Exploring and Changing DOM Properties.mp4
    07:38
  • 008 evaluating-and-manipulating-elements.pdf
  • 009 Attributes vs Properties.mp4
    08:58
  • 009 attributes-vs-properties.pdf
  • 010 Selecting Multiple Elements & Summary.mp4
    05:13
  • 011 Traversing the DOM - Overview.mp4
    06:22
  • 011 dom-traversal.pdf
  • 012 Traversing Child Nodes.mp4
    09:15
  • 013 Using parentNode & parentElement.mp4
    05:01
  • 014 Selecting Sibling Elements.mp4
    04:06
  • 014 dom-03-dom-traversing.zip
  • 015 DOM Traversal vs Query Methods.mp4
    04:35
  • 016 Styling DOM Elements.mp4
    12:18
  • 016 dom-04-styling.zip
  • 016 styling-dom-elements.pdf
  • 017 Creating Elements with JS - Overview.mp4
    02:42
  • 018 Adding Elements via HTML in Code.mp4
    07:42
  • 019 Adding Elements via createElement().mp4
    05:42
  • 020 Inserting DOM Elements.mp4
    08:15
  • 020 creating-and-inserting-elements.pdf
  • 021 Cloning DOM Nodes.mp4
    01:45
  • 022 Live Node Lists vs Static Node Lists.mp4
    04:55
  • 023 Removing Elements.mp4
    01:56
  • 024 Insertion & Removal Method Summary.mp4
    02:38
  • 024 dom-05-finished-basics.zip
  • 024 insertion-removal-summary.pdf
  • 025 Summary Insert, Replace, Remove.html
  • 026 Setting Up the Practice Project.mp4
    02:16
  • 026 dom-06-demo-project-setup.zip
  • 027 Selecting the Modal and Add Button.mp4
    08:58
  • 027 dom-07-selected-modal-and-button.zip
  • 028 Opening a Modal by Changing CSS Classes.mp4
    05:01
  • 028 dom-08-toggle-modal-visible-class.zip
  • 029 Controlling the Backdrop.mp4
    08:04
  • 029 dom-09-handling-movie-modal.zip
  • 030 Fetching and Validating User Input.mp4
    08:06
  • 030 dom-10-getting-user-input.zip
  • 031 Creating a Movie in JavaScript & Clearing the Input.mp4
    04:01
  • 032 Rendering Movie Items on the Screen.mp4
    08:24
  • 032 dom-11-adding-and-rendering-movies.zip
  • 033 Deleting Movie Elements.mp4
    09:12
  • 033 dom-12-delete-elements.zip
  • 034 Showing & Hiding the Are you sure Dialog.mp4
    07:08
  • 034 dom-13-two-modals.zip
  • 035 Starting with the Confirmation Logic.mp4
    04:29
  • 036 Finishing the App.mp4
    11:45
  • 036 dom-14-finished.zip
  • 037 Wrap Up.mp4
    01:55
  • 038 Useful Resources & Links.html
  • 038 dom-01-starting-code.zip
  • 038 dom-02-basic-selection-code.zip
  • 038 dom-03-dom-traversing.zip
  • 038 dom-04-styling.zip
  • 038 dom-05-finished-basics.zip
  • 038 dom-06-demo-project-setup.zip
  • 038 dom-07-selected-modal-and-button.zip
  • 038 dom-08-toggle-modal-visible-class.zip
  • 038 dom-09-handling-movie-modal.zip
  • 038 dom-10-getting-user-input.zip
  • 038 dom-11-adding-and-rendering-movies.zip
  • 038 dom-12-delete-elements.zip
  • 038 dom-13-two-modals.zip
  • 038 dom-14-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:08
  • 002 What are Iterables and Array-like Objects.mp4
    02:11
  • 002 iterables-array-like.pdf
  • 003 Creating Arrays.mp4
    08:56
  • 003 arrays-01-starting-code.zip
  • 003 arrays-02-creating-arrays.zip
  • 004 Which Data Can You Store In Arrays.mp4
    03:47
  • 005 arrays-03-push-pop-shift-unshift.zip
  • 005 push(), pop(), unshift(), shift() - Adding & Removing Elements.mp4
    06:59
  • 006 The splice() Method.mp4
    05:38
  • 006 arrays-04-splice.zip
  • 007 Selecting Ranges & Creating Copies with slice().mp4
    06:06
  • 007 arrays-05-slice.zip
  • 008 Adding Arrays to Arrays with concat().mp4
    02:23
  • 008 arrays-06-concat.zip
  • 009 Retrieving Indexes with indexOf() & lastIndexOf().mp4
    03:47
  • 009 arrays-07-indexof.zip
  • 010 Finding Stuff find() and findIndex().mp4
    05:20
  • 010 arrays-08-find-findindex.zip
  • 011 Is it Included.mp4
    01:20
  • 012 Alternative to for Loops The forEach() Method.mp4
    04:25
  • 012 arrays-09-foreach.zip
  • 013 Transforming Data with map().mp4
    02:38
  • 013 arrays-10-map.zip
  • 014 arrays-11-sort-reverse.zip
  • 014 sort()ing and reverse()ing.mp4
    04:16
  • 015 Filtering Arrays with filter().mp4
    02:35
  • 016 Where Arrow Functions Shine!.mp4
    01:31
  • 016 arrays-12-filter-and-short-arrow-function.zip
  • 017 The Important reduce() Method.mp4
    07:33
  • 017 arrays-13-reduce.zip
  • 018 Chaining Methods in JavaScript.html
  • 019 Arrays & Strings - split() and join().mp4
    04:21
  • 019 arrays-14-join-split.zip
  • 020 The Spread Operator (...).mp4
    10:31
  • 020 arrays-15-spread-operator.zip
  • 021 Understanding Array Destructuring.mp4
    04:25
  • 021 arrays-16-destructuring.zip
  • 022 Maps & Sets - Overview.mp4
    04:16
  • 023 Working with Sets.mp4
    07:21
  • 023 arrays-17-sets.zip
  • 024 Working with Maps.mp4
    09:30
  • 024 arrays-18-maps.zip
  • 025 Maps vs Objects.mp4
    03:41
  • 025 maps-sets-objects.pdf
  • 026 Understanding WeakSet.mp4
    04:50
  • 027 Understanding WeakMap.mp4
    02:51
  • 027 arrays-19-weakset-weakmap.zip
  • 028 Wrap Up.mp4
    01:25
  • 029 Useful Resources & Links.html
  • 029 arrays-01-starting-code.zip
  • 029 arrays-02-creating-arrays.zip
  • 029 arrays-03-push-pop-shift-unshift.zip
  • 029 arrays-04-splice.zip
  • 029 arrays-05-slice.zip
  • 029 arrays-06-concat.zip
  • 029 arrays-07-indexof.zip
  • 029 arrays-08-find-findindex.zip
  • 029 arrays-09-foreach.zip
  • 029 arrays-10-map.zip
  • 029 arrays-11-sort-reverse.zip
  • 029 arrays-12-filter-and-short-arrow-function.zip
  • 029 arrays-13-reduce.zip
  • 029 arrays-14-join-split.zip
  • 029 arrays-15-spread-operator.zip
  • 029 arrays-16-destructuring.zip
  • 029 arrays-17-sets.zip
  • 029 arrays-18-maps.zip
  • 029 arrays-19-weakset-weakmap.zip
  • 001 Module Introduction.mp4
    01:38
  • 002 Whats an Object.mp4
    05:54
  • 002 objects-01-starting-project.zip
  • 002 what-are-objects.pdf
  • 003 Objects & Primitive Values.html
  • 004 Objects - Recap.mp4
    02:42
  • 004 objects-01-starting-project.zip
  • 004 objects-02-object-recap.zip
  • 005 Adding, Modifying & Deleting Properties.mp4
    06:46
  • 005 objects-03-deleting-properties.zip
  • 006 Special Key Names & Square Bracket Property Access.mp4
    08:36
  • 006 objects-04-property-names-square-brackets.zip
  • 007 Property Types & Property Order.mp4
    03:55
  • 008 Dynamic Property Access & Setting Properties Dynamically.mp4
    04:11
  • 008 objects-05-dynamic-access-and-assignment.zip
  • 009 Demo App & Shorthand Property Syntax.mp4
    09:22
  • 010 Rendering Elements based on Objects.mp4
    05:36
  • 010 objects-07-rendering-movies.zip
  • 011 for-in Loops & Outputting Dynamic Properties.mp4
    05:24
  • 011 objects-08-dynamic-property-access.zip
  • 012 Adding the Filter Functionality.mp4
    05:38
  • 012 objects-09-search-functionality.zip
  • 013 Understanding Chaining (Property & Method Chaining).mp4
    01:51
  • 014 The Object Spread Operator (...).mp4
    05:54
  • 015 Understanding Object.assign().mp4
    02:08
  • 016 Object Destructuring.mp4
    06:13
  • 016 objects-10-destructuring.zip
  • 017 Checking for Property Existance.mp4
    02:42
  • 018 Introducing this.mp4
    05:52
  • 018 objects-11-introducing-this.zip
  • 019 The Method Shorthand Syntax.mp4
    01:07
  • 020 The this Keyword And Its Strange Behavior.mp4
    05:41
  • 020 objects-12-this-and-bind.zip
  • 021 call() and apply().mp4
    03:22
  • 021 objects-13-call-and-apply.zip
  • 022 What the Browser (Sometimes) Does to this.mp4
    02:33
  • 023 objects-14-this-and-arrow-functions.zip
  • 023 this and Arrow Functions.mp4
    10:36
  • 024 this - Summary.html
  • 025 Getters & Setters.mp4
    07:05
  • 025 objects-15-getters-setters.zip
  • 026 Wrap Up.mp4
    01:34
  • 027 Useful Resources & Links.html
  • 027 objects-01-starting-project.zip
  • 027 objects-02-object-recap.zip
  • 027 objects-03-deleting-properties.zip
  • 027 objects-04-property-names-square-brackets.zip
  • 027 objects-05-dynamic-access-and-assignment.zip
  • 027 objects-06-project-movie-entering-logic.zip
  • 027 objects-07-rendering-movies.zip
  • 027 objects-08-dynamic-property-access.zip
  • 027 objects-09-search-functionality.zip
  • 027 objects-10-destructuring.zip
  • 027 objects-11-introducing-this.zip
  • 027 objects-12-this-and-bind.zip
  • 027 objects-13-call-and-apply.zip
  • 027 objects-14-this-and-arrow-functions.zip
  • 027 objects-15-getters-setters.zip
  • 001 Module Introduction.mp4
    01:55
  • 002 What is Object-oriented Programming (OOP).mp4
    03:17
  • 002 whats-oop.pdf
  • 003 Getting Started with OOP Code.mp4
    12:10
  • 003 oop-01-starting-setup.zip
  • 004 Defining & Using a First Class.mp4
    07:17
  • 004 classes-and-instances.pdf
  • 004 oop-02-first-class.zip
  • 005 Working with Constructor Methods.mp4
    04:51
  • 006 Fields vs Properties.mp4
    02:19
  • 006 class-properties-fields-methods.pdf
  • 007 Using & Connecting Multiple Classes.mp4
    09:06
  • 007 oop-03-productlist-productitem-classes.zip
  • 008 Binding Class Methods & Working with this.mp4
    04:57
  • 008 oop-04-addtocart-method.zip
  • 009 Adding a Cart and Shop Class.mp4
    04:37
  • 010 Communicating Can Be Challenging!.mp4
    03:54
  • 011 Static Methods & Properties.mp4
    07:51
  • 011 oop-05-static-methods-properties.zip
  • 011 static-fields-methods.pdf
  • 012 First Summary & Classes vs Object Literals.mp4
    04:06
  • 012 classes-vs-object-literals.pdf
  • 013 Getters & Setters.mp4
    05:43
  • 013 oop-06-getters-setters.zip
  • 014 Introducing Inheritance.mp4
    02:34
  • 014 inheritance.pdf
  • 014 oop-07-base-component-class.zip
  • 015 Implementing Inheritance.mp4
    11:50
  • 015 oop-08-shopping-cart-extending.zip
  • 016 Using Inheritance Everywhere.mp4
    06:51
  • 016 oop-09-inheritance-everywhere.zip
  • 017 Overriding Methods and the super() Constructor.mp4
    06:00
  • 017 oop-10-render-in-constructor.zip
  • 018 super() Constructor Execution, Order & this.mp4
    06:46
  • 019 Different Ways of Adding Methods.mp4
    05:51
  • 019 oop-11-error-function-methods-properties.zip
  • 020 Private Properties.mp4
    07:24
  • 020 oop-12-private-properties.zip
  • 020 private-fields-properties.pdf
  • 021 Pseudo-Private Properties.html
  • 022 The instanceof Operator.mp4
    04:30
  • 023 Built-in Classes.mp4
    01:09
  • 024 Understanding Object Descriptors.mp4
    07:35
  • 025 Wrap Up.mp4
    01:51
  • 026 Useful Resources & Links.html
  • 026 oop-01-starting-setup.zip
  • 026 oop-02-first-class.zip
  • 026 oop-03-productlist-productitem-classes.zip
  • 026 oop-04-addtocart-method.zip
  • 026 oop-05-static-methods-properties.zip
  • 026 oop-06-getters-setters.zip
  • 026 oop-07-base-component-class.zip
  • 026 oop-08-shopping-cart-extending.zip
  • 026 oop-09-inheritance-everywhere.zip
  • 026 oop-10-render-in-constructor.zip
  • 026 oop-11-error-function-methods-properties.zip
  • 026 oop-12-private-properties.zip
  • 001 Module Introduction.mp4
    01:34
  • 002 Introducing Constructor Functions.mp4
    04:02
  • 002 prototypes-01-starting-setup.zip
  • 003 Constructor Functions vs Classes & Understanding new.mp4
    04:17
  • 003 constructor-functions-classes.pdf
  • 004 Introducing Prototypes.mp4
    16:47
  • 004 prototypes.pdf
  • 004 prototypes-02-basic-prototype.zip
  • 005 Prototypes - Summary.html
  • 006 Working with Prototypes.mp4
    05:19
  • 006 prototypes-03-editing-the-prototype-correctly.zip
  • 007 The Prototype Chain and the Global Object.mp4
    08:26
  • 007 prototypes-04-global-object-prototype.zip
  • 007 prototype-chain.pdf
  • 008 Classes & Prototypes.mp4
    05:24
  • 009 Methods in Classes & In Constructors.mp4
    10:16
  • 009 different-kinds-of-method-declarations.pdf
  • 009 prototypes-06-property-methods-bind.zip
  • 010 Built-in Prototypes in JavaScript.mp4
    02:12
  • 011 Setting & Getting Prototypes.mp4
    10:58
  • 011 prototypes-07-getting-setting-prototypes.zip
  • 012 Wrap Up.mp4
    02:49
  • 013 Useful Resources & Links.html
  • 013 prototypes-01-starting-setup.zip
  • 013 prototypes-02-basic-prototype.zip
  • 013 prototypes-03-editing-the-prototype-correctly.zip
  • 013 prototypes-04-global-object-prototype.zip
  • 013 prototypes-05-classes-methods-prototypes.zip
  • 013 prototypes-06-property-methods-bind.zip
  • 013 prototypes-07-getting-setting-prototypes.zip
  • 001 Module Introduction.mp4
    01:38
  • 001 practice-oop-01-starting-setup.zip
  • 002 First Project Steps & Planning.mp4
    04:46
  • 002 practice-oop-01-starting-setup.zip
  • 003 Creating Project Lists & Parsing Element Data.mp4
    04:08
  • 003 practice-oop-02-created-lists-basic-logic.zip
  • 004 Starting with the Switch Project Logic.mp4
    09:59
  • 005 Passing Method References Around.mp4
    07:02
  • 005 practice-oop-03-passing-functions-around.zip
  • 006 Moving DOM Elements.mp4
    11:49
  • 006 practice-oop-05-finished-move-item-logic.zip
  • 007 Adding a Tooltip.mp4
    08:58
  • 007 practice-oop-06-basic-tooltip.zip
  • 007 practice-oop-07-improved-tooltip.zip
  • 008 Adding Inheritance.mp4
    06:13
  • 008 practice-oop-08-base-component-class.zip
  • 009 Wrap Up.mp4
    00:57
  • 010 Useful Resources & Links.html
  • 010 practice-oop-01-starting-setup.zip
  • 010 practice-oop-02-created-lists-basic-logic.zip
  • 010 practice-oop-03-passing-functions-around.zip
  • 010 practice-oop-04-moving-the-dom-element.zip
  • 010 practice-oop-05-finished-move-item-logic.zip
  • 010 practice-oop-06-basic-tooltip.zip
  • 010 practice-oop-07-improved-tooltip.zip
  • 010 practice-oop-08-base-component-class.zip
  • 001 Module Introduction.mp4
    02:31
  • 001 practice-oop-08-base-component-class.zip
  • 002 Using dataset (data- Attributes).mp4
    06:51
  • 002 adv-dom-01-dataset.zip
  • 003 Getting Element Box Dimensions.mp4
    05:54
  • 003 adv-dom-sizes-html.zip
  • 004 Working with Element Sizes & Positions.mp4
    04:56
  • 004 sizes.pdf
  • 005 The DOM & Prototypes.mp4
    02:21
  • 006 Positioning the Tooltip.mp4
    10:57
  • 006 adv-dom-02-basic-tooltip-positioning.zip
  • 006 adv-dom-03-correct-tooltip-positioning.zip
  • 007 Handling Scrolling.mp4
    05:37
  • 007 adv-dom-04-scrolling-logic.zip
  • 008 Working with template Tags.mp4
    05:14
  • 008 adv-dom-05-template.zip
  • 009 Loading Scripts Dynamically.mp4
    07:35
  • 009 adv-dom-06-dynamically-loaded-scripts.zip
  • 010 Setting Timers & Intervals.mp4
    07:37
  • 010 adv-dom-07-interval-timer.zip
  • 011 The location and history Objects.mp4
    04:20
  • 012 The navigator Object.mp4
    04:50
  • 013 Working with Dates.mp4
    03:17
  • 014 The Error Object & Constructor Function.mp4
    03:21
  • 015 Wrap Up.mp4
    00:43
  • 016 Useful Resources & Links.html
  • 016 adv-dom-01-dataset.zip
  • 016 adv-dom-02-basic-tooltip-positioning.zip
  • 016 adv-dom-03-correct-tooltip-positioning.zip
  • 016 adv-dom-04-scrolling-logic.zip
  • 016 adv-dom-05-template.zip
  • 016 adv-dom-06-dynamically-loaded-scripts.zip
  • 016 adv-dom-07-interval-timer.zip
  • 016 adv-dom-sizes-html.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:31
  • 002 Introduction to Events in JavaScript.mp4
    06:18
  • 002 events-in-js.pdf
  • 003 Different Ways of Listening to Events.mp4
    06:59
  • 003 events-01-starting-setup.zip
  • 004 Removing Event Listeners.mp4
    05:14
  • 004 events-02-addeventlistener-removeeventlistener.zip
  • 005 The event Object.mp4
    05:43
  • 005 events-03-the-event-object.zip
  • 006 Supported Event Types.mp4
    08:01
  • 006 events-04-the-scroll-event.zip
  • 007 Example Basic Infinite Scrolling.html
  • 008 Working with preventDefault().mp4
    05:15
  • 008 events-05-preventdefault.zip
  • 009 Understanding Capturing & Bubbling Phases.mp4
    02:03
  • 010 Event Propagation & stopPropagation().mp4
    07:39
  • 010 events-06-event-propagation.zip
  • 010 events-07-not-all-events-propagate.zip
  • 011 Using Event Delegation.mp4
    08:33
  • 011 events-08-event-delegation.zip
  • 012 Triggering DOM Elements Programmatically.mp4
    03:40
  • 012 events-09-triggering-events-programmatically.zip
  • 013 Event Handler Functions & this.mp4
    02:28
  • 013 events-10-event-listeners-and-this.zip
  • 014 Drag & Drop - Theory.mp4
    04:59
  • 015 Configuring Draggable Elements.mp4
    06:23
  • 015 events-11-starting-drag-and-drop-implementation.zip
  • 016 Marking the Drop Area.mp4
    08:52
  • 017 Dropping & Moving Data + Elements.mp4
    06:58
  • 017 events-13-dropping.zip
  • 017 events-14-finished.zip
  • 018 Firefox Adjustments.html
  • 019 Wrap Up.mp4
    01:15
  • 020 Useful Resources & Links.html
  • 020 events-01-starting-setup.zip
  • 020 events-02-addeventlistener-removeeventlistener.zip
  • 020 events-03-the-event-object.zip
  • 020 events-04-the-scroll-event.zip
  • 020 events-05-preventdefault.zip
  • 020 events-06-event-propagation.zip
  • 020 events-07-not-all-events-propagate.zip
  • 020 events-08-event-delegation.zip
  • 020 events-09-triggering-events-programmatically.zip
  • 020 events-10-event-listeners-and-this.zip
  • 020 events-11-starting-drag-and-drop-implementation.zip
  • 020 events-12-dragenter-dragover.zip
  • 020 events-13-dropping.zip
  • 020 events-14-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    00:57
  • 002 Pure Functions & Side-Effects.mp4
    06:13
  • 002 adv-fn-01-starting-setup.zip
  • 002 pure-functions.pdf
  • 003 Impure vs Pure Functions.mp4
    02:00
  • 003 adv-fn-02-pure-functions.zip
  • 004 Factory Functions.mp4
    05:41
  • 004 adv-fn-03-factory-functions.zip
  • 005 Closures.mp4
    07:45
  • 005 adv-fn-04-closures.zip
  • 006 Closures in Practice.mp4
    07:01
  • 006 adv-fn-05-scopes-and-environments.zip
  • 007 Closures & Memory Management.mp4
    01:24
  • 008 Optional IIFEs.html
  • 009 Introducing Recursion.mp4
    07:32
  • 009 adv-fn-06-recursion-basic.zip
  • 010 Advanced Recursion.mp4
    09:01
  • 010 adv-fn-07-recursion-advanced.zip
  • 011 Wrap Up.mp4
    01:14
  • 012 Useful Resources & Links.html
  • 012 adv-fn-01-starting-setup.zip
  • 012 adv-fn-02-pure-functions.zip
  • 012 adv-fn-03-factory-functions.zip
  • 012 adv-fn-04-closures.zip
  • 012 adv-fn-05-scopes-and-environments.zip
  • 012 adv-fn-06-recursion-basic.zip
  • 012 adv-fn-07-recursion-advanced.zip
  • 001 Module Introduction.mp4
    00:53
  • 002 How Numbers Work & Behave in JavaScript.mp4
    07:46
  • 002 nums-strings-01-starting-setup.zip
  • 003 Floating Point (Im)Precision.mp4
    11:04
  • 004 The BigInt Type.mp4
    03:36
  • 005 The Global Number and Math Objects.mp4
    02:47
  • 006 Example Generate Random Number Between Min Max.mp4
    05:33
  • 006 nums-strings-02-added-random-between.zip
  • 007 Exploring String Methods.mp4
    01:43
  • 008 Tagged Templates.mp4
    10:29
  • 008 nums-strings-03-tagged-templates.zip
  • 009 Introducing Regular Expressions (RegEx).mp4
    04:31
  • 010 More on Regular Expressions.mp4
    07:25
  • 011 Wrap Up.mp4
    01:20
  • 012 Useful Resources & Links.html
  • 012 nums-strings-01-starting-setup.zip
  • 012 nums-strings-02-added-random-between.zip
  • 012 nums-strings-03-tagged-templates.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:12
  • 002 Understanding Synchronous Code Execution (Sync Code).mp4
    02:51
  • 002 async-01-starting-setup.zip
  • 002 js-sync-code-single-threaded.pdf
  • 003 Understanding Asynchronous Code Execution (Async Code).mp4
    05:44
  • 003 js-async-code.pdf
  • 004 Blocking Code & The Event Loop.mp4
    10:30
  • 004 async-02-sync-code-loop.zip
  • 004 event-loop.pdf
  • 005 Sync + Async Code - The Execution Order.mp4
    04:03
  • 005 async-03-get-user-position.zip
  • 006 Multiple Callbacks & setTimeout(0).mp4
    03:20
  • 006 async-04-message-queue-event-loop.zip
  • 007 Getting Started with Promises.mp4
    08:25
  • 007 async-05-first-promise.zip
  • 008 Chaining Multiple Promises.mp4
    05:53
  • 008 async-06-promise-chaining.zip
  • 009 Promise Error Handling.mp4
    07:46
  • 009 async-07-error-handling.zip
  • 010 Promise States & finally.html
  • 011 Async await.mp4
    09:11
  • 012 Async await & Error Handling.mp4
    03:07
  • 013 Async await vs Raw Promises.mp4
    04:56
  • 013 async-08-async-await.zip
  • 014 Promise.all(), Promise.race() etc.mp4
    07:59
  • 014 async-09-promise-all-race-etc.zip
  • 015 Wrap Up.mp4
    01:27
  • 016 Useful Resources & Links.html
  • 016 async-01-starting-setup.zip
  • 016 async-02-sync-code-loop.zip
  • 016 async-03-get-user-position.zip
  • 016 async-04-message-queue-event-loop.zip
  • 016 async-05-first-promise.zip
  • 016 async-06-promise-chaining.zip
  • 016 async-07-error-handling.zip
  • 016 async-08-async-await.zip
  • 016 async-09-promise-all-race-etc.zip
  • 001 Module Introduction.mp4
    01:07
  • 002 What & Why.mp4
    05:03
  • 002 behind-the-scenes-requests.pdf
  • 003 How The Web Works.html
  • 004 More Background about Http.mp4
    05:24
  • 004 http-requests.pdf
  • 005 Getting Started with Http.mp4
    03:35
  • 005 http-01-starting-setup.zip
  • 006 Sending a GET Request.mp4
    03:46
  • 007 JSON Data & Parsing Data.mp4
    09:14
  • 007 http-02-sending-get-requests.zip
  • 008 JSON Data Deep Dive.html
  • 009 Promisifying Http Requests (with XMLHttpRequest).mp4
    03:49
  • 010 Sending Data with a POST Request.mp4
    04:55
  • 010 http-03-sending-post-requests.zip
  • 011 Triggering Requests via the UI.mp4
    03:13
  • 011 http-04-connecting-requests-to-ui.zip
  • 012 The Fetch Button Always Appends.html
  • 013 Sending a DELETE Request.mp4
    04:56
  • 013 http-05-delete-request.zip
  • 014 Handling Errors.mp4
    05:03
  • 014 http-06-error-handling.zip
  • 015 Using the fetch() API.mp4
    07:11
  • 015 http-07-getting-started-with-fetch.zip
  • 016 POSTing Data with the fetch() API.mp4
    02:38
  • 016 http-08-post-request-with-fetch.zip
  • 017 Adding Request Headers.mp4
    03:01
  • 017 http-09-headers.zip
  • 018 fetch() & Error Handling.mp4
    07:12
  • 018 http-10-fetch-api-error-handling.zip
  • 019 XMLHttpRequest vs fetch().mp4
    01:42
  • 020 Working with FormData.mp4
    06:58
  • 020 http-11-formdata.zip
  • 021 Wrap Up.mp4
    01:17
  • 022 Useful Resources & Links.html
  • 022 http-01-starting-setup.zip
  • 022 http-02-sending-get-requests.zip
  • 022 http-03-sending-post-requests.zip
  • 022 http-04-connecting-requests-to-ui.zip
  • 022 http-05-delete-request.zip
  • 022 http-06-error-handling.zip
  • 022 http-07-getting-started-with-fetch.zip
  • 022 http-08-post-request-with-fetch.zip
  • 022 http-09-headers.zip
  • 022 http-10-fetch-api-error-handling.zip
  • 022 http-11-formdata.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    00:59
  • 002 What & Why.mp4
    02:55
  • 003 Adding Libraries (Example lodash).mp4
    09:10
  • 003 lib-01-starting-setup.zip
  • 003 lib-02-lodash.zip
  • 004 Example jQuery.mp4
    02:30
  • 005 Discovering Libraries.mp4
    03:25
  • 006 Axios Library & Http Requests.mp4
    10:46
  • 006 http-11-formdata.zip
  • 006 lib-03-axios.zip
  • 007 Third-Party Library Considerations.mp4
    04:54
  • 008 Wrap Up.mp4
    00:59
  • 009 Useful Resources & Links.html
  • 009 lib-01-starting-setup.zip
  • 009 lib-02-lodash.zip
  • 009 lib-03-axios.zip
  • 001 Module Introduction.mp4
    00:56
  • 002 Splitting Code in a Sub-optimal Way.mp4
    07:12
  • 002 modules-01-starting-project.zip
  • 002 modules-02-non-module-code-splitting.zip
  • 003 A First Step Towards JavaScript Modules.mp4
    03:25
  • 004 We Need a Development Server!.mp4
    05:58
  • 005 First import export Work.mp4
    03:41
  • 005 modules-03-dev-server-first-module.zip
  • 006 Switching All Files To Use Modules.mp4
    04:26
  • 006 modules-04-modules-everywhere.zip
  • 007 More Named Export Syntax Variations.mp4
    06:12
  • 007 modules-05-multiple-exports-and-imports.zip
  • 007 modules-06-import-bundling-and-aliases.zip
  • 008 Working With Default Exports.mp4
    03:35
  • 008 modules-07-default-export.zip
  • 009 Dynamic Imports & Code Splitting.mp4
    05:24
  • 009 modules-08-dynamic-imports.zip
  • 010 When Does Module Code Execute.mp4
    02:06
  • 010 modules-09-executing-code-in-modules.zip
  • 011 Module Scope & globalThis.mp4
    06:18
  • 011 modules-10-module-scope-globalthis.zip
  • 012 Wrap Up.mp4
    01:37
  • 013 Useful Resources & Links.html
  • 013 modules-01-starting-project.zip
  • 013 modules-02-non-module-code-splitting.zip
  • 013 modules-03-dev-server-first-module.zip
  • 013 modules-04-modules-everywhere.zip
  • 013 modules-05-multiple-exports-and-imports.zip
  • 013 modules-06-import-bundling-and-aliases.zip
  • 013 modules-07-default-export.zip
  • 013 modules-08-dynamic-imports.zip
  • 013 modules-09-executing-code-in-modules.zip
  • 013 modules-10-module-scope-globalthis.zip
  • 001 Module Introduction.mp4
    03:23
  • 002 Project Limitations & Why We Need Tools.mp4
    08:11
  • 002 helpful-tools-and-why.pdf
  • 003 Workflow Overview.mp4
    02:42
  • 003 setup.pdf
  • 004 Setting Up a npm Project.mp4
    03:46
  • 004 tooling-01-starting-project.zip
  • 004 tooling-02-initialized-npm.zip
  • 005 Working with npm Packages.mp4
    03:39
  • 006 Linting with ESLint.mp4
    08:38
  • 006 tooling-03-eslint.zip
  • 007 Configuring ESLint.html
  • 008 Important Webpack Version & Configuring npm Scripts.html
  • 009 Bundling with Webpack.mp4
    15:13
  • 009 tooling-04-basic-webpack-setup.zip
  • 010 Bonus Multiple Entry Points.html
  • 011 Development Mode & Fixing Lazy Loading.mp4
    04:00
  • 012 Using webpack-dev-server.mp4
    03:14
  • 013 Generating Sourcemaps.mp4
    03:05
  • 013 tooling-05-finished-dev-workflow-dev-server.zip
  • 014 Building For Production.mp4
    03:45
  • 014 tooling-06-production-workflow.zip
  • 015 Final Optimizations.mp4
    06:35
  • 015 tooling-07-final-optimizations.zip
  • 016 Using Third Party Packages with npm & Webpack.mp4
    04:06
  • 016 tooling-08-third-party-libs.zip
  • 017 Wrap Up.mp4
    01:39
  • 018 Useful Resources & Links.html
  • 018 tooling-01-starting-project.zip
  • 018 tooling-02-initialized-npm.zip
  • 018 tooling-03-eslint.zip
  • 018 tooling-04-basic-webpack-setup.zip
  • 018 tooling-05-finished-dev-workflow-dev-server.zip
  • 018 tooling-06-production-workflow.zip
  • 018 tooling-07-final-optimizations.zip
  • 018 tooling-08-third-party-libs.zip
  • 001 Module Introduction.mp4
    01:06
  • 002 Browser Storage Options.mp4
    07:21
  • 002 what-is-browser-storage.pdf
  • 003 localStorage & sessionStorage.mp4
    10:43
  • 003 storage-01-starting-setup.zip
  • 003 storage-02-localstorage.zip
  • 004 Getting Started with Cookies.mp4
    06:06
  • 005 Working with Cookies.mp4
    08:10
  • 005 storage-03-cookies.zip
  • 006 Getting Started with IndexedDB.mp4
    08:55
  • 007 Working with IndexedDB.mp4
    04:06
  • 007 storage-04-indexeddb.zip
  • 008 Wrap Up.mp4
    00:48
  • 008 localstorage-vs-cookies-vs-indexeddb.pdf
  • 009 Useful Resources & Links.html
  • 009 storage-01-starting-setup.zip
  • 009 storage-02-localstorage.zip
  • 009 storage-03-cookies.zip
  • 009 storage-04-indexeddb.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:29
  • 002 What Is Browser Support About.mp4
    07:36
  • 002 js-syntax-vs-browser-apis.pdf
  • 002 what-is-browser-support.pdf
  • 003 Determining Browser Support For A JavaScript Feature.mp4
    08:20
  • 003 determining-browser-support.pdf
  • 004 Determining Required Support.mp4
    03:29
  • 004 determining-requirements.pdf
  • 005 Solution Feature Detection + Fallback Code.mp4
    09:55
  • 005 feature-detection-and-fallbacks.pdf
  • 005 support-01-starting-setup.zip
  • 005 support-02-feature-detection.zip
  • 006 Solution Using Polyfills.mp4
    03:18
  • 006 polyfills.pdf
  • 007 Solution Transpiling Code.mp4
    12:02
  • 007 support-03-babel-loader.zip
  • 007 transpilation.pdf
  • 008 Improvement Automatically Detect + Add Polyfills.mp4
    11:02
  • 008 support-04-corejs-polyfills.zip
  • 009 What about Support Outside of Browsers.mp4
    00:58
  • 009 support-04-corejs-polyfills.zip
  • 010 Browser Support Outside of JavaScript Files.mp4
    02:36
  • 011 Wrap Up.mp4
    01:18
  • 012 Useful Resources & Links.html
  • 012 support-01-starting-setup.zip
  • 012 support-02-feature-detection.zip
  • 012 support-03-babel-loader.zip
  • 012 support-04-corejs-polyfills.zip
  • 012 support-05-noscript-html-adjustments.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    00:53
  • 002 Note Use the LTS Version of NodeJS.html
  • 003 Setting Up the Project.mp4
    03:05
  • 003 practice-places-01-starting-setup.zip
  • 004 Getting DOM Access.mp4
    04:33
  • 005 Getting the User Location.mp4
    06:27
  • 005 practice-places-02-first-get-user-location.zip
  • 006 Adding Feedback (Showing a Modal).mp4
    11:16
  • 006 practice-places-03-show-modal-basic.zip
  • 007 Hiding the Modal.mp4
    02:38
  • 007 practice-places-04-finished-modal-code.zip
  • 008 Rendering a Map with Google Maps.mp4
    14:16
  • 008 practice-places-05-render-google-maps-map.zip
  • 009 Continuing without a Credit Card.html
  • 010 Finding an Address & Getting the Coordinates.mp4
    08:22
  • 010 practice-places-06-convert-coordinates-to-address.zip
  • 011 Converting User Input to Coordinates.mp4
    03:35
  • 011 practice-places-07-get-address-display-on-map.zip
  • 012 Creating a Share Place Link.mp4
    08:31
  • 012 practice-places-08-create-sharable-link.zip
  • 013 Copying the Link to the Clipboard.mp4
    03:36
  • 013 practice-places-09-share-link-via-clipboard-api.zip
  • 014 Rendering the Shared Place Screen.mp4
    06:22
  • 014 practice-places-10-finished.zip
  • 015 Useful Resources & Links.html
  • 015 practice-places-01-starting-setup.zip
  • 015 practice-places-02-first-get-user-location.zip
  • 015 practice-places-03-show-modal-basic.zip
  • 015 practice-places-04-finished-modal-code.zip
  • 015 practice-places-05-render-google-maps-map.zip
  • 015 practice-places-06-convert-coordinates-to-address.zip
  • 015 practice-places-07-get-address-display-on-map.zip
  • 015 practice-places-08-create-sharable-link.zip
  • 015 practice-places-09-share-link-via-clipboard-api.zip
  • 015 practice-places-10-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:06
  • 002 What and Why.mp4
    07:35
  • 002 important-frontend-frameworks.pdf
  • 002 what-is-a-framework.pdf
  • 003 The Idea Behind React.js.mp4
    02:46
  • 003 introducing-reactjs.pdf
  • 004 Analysing a React Project.mp4
    17:38
  • 004 js-frameworks-01-react-app.zip
  • 005 Wrap Up.mp4
    01:35
  • 006 Useful Resources & Links.html
  • 006 js-frameworks-01-react-app.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:51
  • 002 Understanding Symbols.mp4
    08:27
  • 002 meta-01-starting-setup.zip
  • 003 Well-known Symbols.mp4
    05:15
  • 003 meta-02-symbols.zip
  • 004 Understanding Iterators.mp4
    05:32
  • 004 meta-03-iterators.zip
  • 005 Generators & Iterable Objects.mp4
    11:02
  • 005 meta-04-generators.zip
  • 006 Generators Summary & Built-in Iterables Examples.mp4
    03:22
  • 006 meta-05-finished-generators.zip
  • 007 The Reflect API.mp4
    07:10
  • 007 meta-06-reflect-api.zip
  • 008 The Proxy API and a First Trap.mp4
    09:04
  • 008 meta-07-proxy-api-get-trap.zip
  • 008 meta-programming.pdf
  • 009 Working with Proxy Traps.mp4
    02:57
  • 009 meta-08-proxy-api-set-trap.zip
  • 010 Wrap Up.mp4
    01:37
  • 011 Useful Resources & Links.html
  • 011 meta-01-starting-setup.zip
  • 011 meta-02-symbols.zip
  • 011 meta-03-iterators.zip
  • 011 meta-04-generators.zip
  • 011 meta-05-finished-generators.zip
  • 011 meta-06-reflect-api.zip
  • 011 meta-07-proxy-api-get-trap.zip
  • 011 meta-08-proxy-api-set-trap.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:42
  • 002 JavaScript is a Hosted Language.mp4
    02:21
  • 002 js-hosted-language.pdf
  • 003 Installation & Basics.mp4
    06:17
  • 003 node-01-first-nodejs-code.zip
  • 004 Understanding Modules & File Access.mp4
    04:39
  • 004 node-02-writing-and-reading-files.zip
  • 005 Working with Incoming Http Requests.mp4
    05:46
  • 005 node-03-added-first-server.zip
  • 006 Sending Responses (HTML Data).mp4
    04:01
  • 006 node-04-sending-back-html-responses.zip
  • 007 Parsing Incoming Data.mp4
    10:53
  • 007 node-05-parsing-request-data.zip
  • 008 Introducing & Installing Express.js.mp4
    02:48
  • 008 node-06-added-expressjs.zip
  • 009 Express.js The Basics.mp4
    06:34
  • 009 node-07-first-basic-expressjs-code.zip
  • 010 Extracting Data.mp4
    04:23
  • 010 node-08-parsing-the-request-body.zip
  • 011 Rendering Server-side HTML with Templates & EJS.mp4
    06:52
  • 011 node-09-dynamic-html-templates-ejs.zip
  • 012 Enhancing Our Project.mp4
    03:44
  • 013 Adding Basic REST Routes.mp4
    12:09
  • 013 node-10-basic-rest-routes.zip
  • 013 node-frontend-01-basic-post-request-setup.zip
  • 014 Understanding CORS (Cross Origin Resource Sharing).mp4
    05:13
  • 014 node-11-cors.zip
  • 015 Sending the Location ID to the Frontend.mp4
    02:16
  • 015 node-12-send-id-to-frontend.zip
  • 015 node-frontend-02-render-link-with-id.zip
  • 016 Adding the GET Location Route.mp4
    07:16
  • 016 node-13-get-location-route.zip
  • 016 node-frontend-03-send-get-location-request.zip
  • 017 Introducing MongoDB (Database).mp4
    14:44
  • 017 node-14-added-database-example-mongodb.zip
  • 018 NodeJS Error Handling.html
  • 019 Wrap Up.mp4
    01:50
  • 020 Useful Resources & Links.html
  • 020 node-01-first-nodejs-code.zip
  • 020 node-02-writing-and-reading-files.zip
  • 020 node-03-added-first-server.zip
  • 020 node-04-sending-back-html-responses.zip
  • 020 node-05-parsing-request-data.zip
  • 020 node-06-added-expressjs.zip
  • 020 node-07-first-basic-expressjs-code.zip
  • 020 node-08-parsing-the-request-body.zip
  • 020 node-09-dynamic-html-templates-ejs.zip
  • 020 node-10-basic-rest-routes.zip
  • 020 node-11-cors.zip
  • 020 node-12-send-id-to-frontend.zip
  • 020 node-13-get-location-route.zip
  • 020 node-14-added-database-example-mongodb.zip
  • 020 node-frontend-01-basic-post-request-setup.zip
  • 020 node-frontend-02-render-link-with-id.zip
  • 020 node-frontend-03-send-get-location-request.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:35
  • 002 Security Hole Overview & Exposing Data in your Code.mp4
    06:45
  • 002 what-could-go-wrong.pdf
  • 003 Cross-Site Scripting Attacks (XSS).mp4
    14:39
  • 003 security-01-finished.zip
  • 004 Third-Party Libraries & XSS.mp4
    05:17
  • 005 CSRF Attacks (Cross Site Request Forgery).mp4
    04:16
  • 005 csrf.pdf
  • 006 CORS (Cross Origin Resource Sharing).mp4
    02:53
  • 006 cors.pdf
  • 007 Wrap Up.mp4
    01:31
  • 008 Useful Resources & Links.html
  • 008 security-01-finished.zip
  • 001 Module Introduction.mp4
    01:11
  • 002 Deployment Steps.mp4
    07:29
  • 002 deployment-steps.pdf
  • 002 different-kinds-of-apps.pdf
  • 003 Different Types of Websites.html
  • 004 Example Static Host Deployment (no Server-side Code).mp4
    09:43
  • 004 deployment-01-static-hosting-firebase.zip
  • 005 Injecting Script Imports Into HTML Automatically.html
  • 006 Example Dynamic Page Deployment (with Server-side Code).mp4
    12:45
  • 006 deployment-02-dynamic-nodejs-heroku.zip
  • 007 Useful Resources & Links.html
  • 007 deployment-01-static-hosting-firebase.zip
  • 007 deployment-02-dynamic-nodejs-heroku.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    01:49
  • 002 What is Performance Optimization About.mp4
    06:16
  • 002 what-is-performance.pdf
  • 003 Optimization Potentials.mp4
    06:48
  • 003 performance-optimization-layers.pdf
  • 004 Measuring Performance.mp4
    03:42
  • 004 measuring-performance.pdf
  • 005 Diving Into The Browser Devtools (for Performance Measuring).mp4
    15:30
  • 005 performance-01-starting-setup.zip
  • 006 Further Resources.mp4
    02:13
  • 007 Preparing The Testing Setup.mp4
    04:03
  • 008 Optimizing Startup Time & Code Usage Coverage.mp4
    11:51
  • 008 performance-02-lazy-loading.zip
  • 009 Updating The DOM Correctly.mp4
    09:53
  • 009 performance-03-update-list-efficiently.zip
  • 010 Updating Lists Correctly.mp4
    08:11
  • 010 performance-04-finished-update-dom-code.zip
  • 011 Optimizing The Small Things.mp4
    03:58
  • 012 Micro-Optimizations (Think Twice!).mp4
    08:49
  • 012 benchmarking.pdf
  • 012 performance-05-microoptimizations.zip
  • 013 Finding & Fixing Memory Leaks.mp4
    09:43
  • 014 Server-side Performance Optimizations.html
  • 015 Wrap Up.mp4
    03:26
  • 015 improvement-ideas.pdf
  • 016 Useful Resources & Links.html
  • 016 performance-01-starting-setup.zip
  • 016 performance-02-lazy-loading.zip
  • 016 performance-03-update-list-efficiently.zip
  • 016 performance-04-finished-update-dom-code.zip
  • 016 performance-05-microoptimizations.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    00:49
  • 002 What Is Testing Why Does It Matter.mp4
    07:09
  • 002 testing-01-starting-setup.zip
  • 002 testing-02-unit-tests.zip
  • 002 testing-03-integration-tests.zip
  • 002 testing-04-e2e-tests.zip
  • 003 Testing Setup.mp4
    04:10
  • 003 testing-01-starting-setup.zip
  • 004 Writing & Running Unit Tests.mp4
    11:15
  • 004 testing-02-unit-tests.zip
  • 005 Writing & Running Integration Tests.mp4
    06:03
  • 005 testing-03-integration-tests.zip
  • 006 Writing & Running e2e Tests.mp4
    10:16
  • 006 testing-04-e2e-tests.zip
  • 007 Dealing with Async Code.mp4
    10:20
  • 007 testing-05-async-starting-setup.zip
  • 008 Working with Mocks.mp4
    07:51
  • 008 testing-06-finished.zip
  • 009 Useful Resources & Links.html
  • 009 testing-01-starting-setup.zip
  • 009 testing-02-unit-tests.zip
  • 009 testing-03-integration-tests.zip
  • 009 testing-04-e2e-tests.zip
  • 009 testing-05-async-starting-setup.zip
  • 009 testing-06-finished.zip
  • external-links.txt
  • 001 Module Introduction.mp4
    00:48
  • 002 What are Programming Paradigms.mp4
    03:01
  • 003 Procedural Programming in Practice.mp4
    08:53
  • 003 paradigms-01-starting-setup.zip
  • 003 paradigms-02-procedural.zip
  • 004 Object Oriented Programming in Practice.mp4
    13:20
  • 004 paradigms-03-oop.zip
  • 005 Functional Programming in Practice.mp4
    13:52
  • 005 paradigms-04-functional.zip
  • 006 Wrap Up.mp4
    03:26
  • 007 Useful Resources & Links.html
  • 007 paradigms-01-starting-setup.zip
  • 007 paradigms-02-procedural.zip
  • 007 paradigms-03-oop.zip
  • 007 paradigms-04-functional.zip
  • 001 Module Introduction.mp4
    02:02
  • 002 What are Data Structures & Algorithms.mp4
    04:22
  • 003 A First Example.mp4
    10:22
  • 003 algo-01-starting-setup.zip
  • 003 algo-02-first-getmin-algorithm.zip
  • 004 Solving the Same Problem Differently.mp4
    07:26
  • 004 algo-03-alternative-algorithm.zip
  • 005 Performance & The Big O Notation.mp4
    11:44
  • 006 More Time Complexities & Comparing Algorithms.mp4
    03:36
  • 006 algo-04-big-0-time-complexity.zip
  • 007 More on Big O.mp4
    05:23
  • 008 More Examples.mp4
    10:15
  • 008 algo-05-more-algorithms.zip
  • 009 Diving into Data Structures & Time Complexities.mp4
    12:07
  • 010 Where to Learn More & Wrap Up.mp4
    03:23
  • 011 Useful Resources & Links.html
  • 011 algo-01-starting-setup.zip
  • 011 algo-02-first-getmin-algorithm.zip
  • 011 algo-03-alternative-algorithm.zip
  • 011 algo-04-big-0-time-complexity.zip
  • 011 algo-05-more-algorithms.zip
  • 011 algo-06-data-structures.zip
  • 001 Module Introduction.mp4
    01:11
  • 002 What is TypeScript and Why would you use it.mp4
    04:58
  • 003 Working with Types.mp4
    10:05
  • 003 ts-01-first-example-basics.zip
  • 004 Core Types & Diving Deeper.mp4
    17:26
  • 004 ts-02-core-types-type-casting.zip
  • 005 Object Types, Array Types & Function Types.mp4
    09:22
  • 005 ts-03-object-array-function-types.zip
  • 006 Advanced Types (Literal Types, Union Types, Enums).mp4
    09:20
  • 006 ts-04-union-literal-types.zip
  • 006 ts-05-enums.zip
  • 007 Classes & Interfaces.mp4
    12:02
  • 007 ts-06-classes-interfaces.zip
  • 008 Generic Types.mp4
    05:02
  • 008 ts-07-generics.zip
  • 009 Configuring the TypeScript Compiler.mp4
    05:11
  • 009 ts-08-compiler-config.zip
  • 010 Useful Resources & Links.html
  • 010 ts-01-first-example-basics.zip
  • 010 ts-02-core-types-type-casting.zip
  • 010 ts-03-object-array-function-types.zip
  • 010 ts-04-union-literal-types.zip
  • 010 ts-05-enums.zip
  • 010 ts-06-classes-interfaces.zip
  • 010 ts-07-generics.zip
  • 010 ts-08-compiler-config.zip
  • 001 Module Introduction.mp4
    02:01
  • 002 Web Components in Action.mp4
    06:30
  • 002 getting-started-02-finished.zip
  • 002 index.html
  • 002 modal.zip
  • 003 What are Web Components.mp4
    03:22
  • 004 Why Web Components.mp4
    02:44
  • 005 Getting Started!.mp4
    04:56
  • 006 Web Component Browser Support.mp4
    02:44
  • 007 Our Development Setup.mp4
    03:53
  • 008 A First Custom Element.mp4
    08:18
  • 008 basics-01-first-custom-element.zip
  • 009 Interacting with the Surrounding DOM.mp4
    05:04
  • 010 Understanding the Custom Element Lifecycle.mp4
    02:51
  • 011 Using connectedCallback for DOM Access.mp4
    02:05
  • 012 Listening to Events Inside the Component.mp4
    09:13
  • 013 Using Attributes on Custom Elements.mp4
    04:45
  • 013 basics-02-using-attributes.zip
  • 014 Styling our Elements.mp4
    04:08
  • 014 basics-03-styling-our-elements.zip
  • 015 Working with the Shadow DOM.mp4
    05:00
  • 015 basics-04-using-the-shadow-dom.zip
  • 016 Adding an HTML Template.mp4
    05:41
  • 017 Using Slots.mp4
    01:50
  • 017 basics-05-using-slots.zip
  • 018 Defining the Template in JavaScript.mp4
    03:21
  • 018 basics-06-defining-the-template-in-js.zip
  • 019 Using Style Tags in the Shadow DOM.mp4
    02:40
  • 020 Extending Built-in Elements.mp4
    07:33
  • 020 basics-07-extending-built-in-elements.zip
  • 021 The Next Steps.mp4
    00:49
  • 022 Understanding Shadow DOM Projection.mp4
    02:26
  • 023 Styling slot Content Outside of the Shadow DOM.mp4
    03:45
  • 024 Styling slot Content Inside of the Shadow DOM.mp4
    03:10
  • 025 Styling the Host Component.mp4
    04:42
  • 026 Conditional Host Styling.mp4
    02:49
  • 027 Styling with the Host Content in Mind.mp4
    02:28
  • 027 advanced-01-styling-and-shadow-dom.zip
  • 028 Smart Dynamic Styling with CSS Variables.mp4
    06:20
  • 028 advanced-02-css-variables.zip
  • 029 Cleaning Up the Overall Styling.mp4
    03:22
  • 030 Observing Attribute Changes.mp4
    06:17
  • 030 advanced-03-observing-attribute-changes.zip
  • 031 Adjusting the Component Behavior Upon Attribute Changes.mp4
    02:34
  • 032 Using disconnectedCallback.mp4
    06:10
  • 033 Adding a render() Method.mp4
    06:13
  • 033 advanced-04-adding-a-render-method.zip
  • 034 Final Adjustment.html
  • 034 advanced-05-finished.zip
  • 035 The Next Steps.mp4
    00:52
  • 036 Creating the Basic Modal Component.mp4
    06:33
  • 036 complex-cmp-01-starting-setup.zip
  • 036 complex-cmp-02-creating-the-basic-modal.zip
  • 037 Adding the Modal Container.mp4
    02:30
  • 038 Styling the Modal Elements.mp4
    05:35
  • 038 complex-cmp-03-styling-the-modal.zip
  • 039 Adding Some General App Logic.mp4
    03:49
  • 040 Opening the Modal via CSS.mp4
    05:23
  • 040 complex-cmp-04-opening-via-css.zip
  • 041 Public Methods & Properties.mp4
    06:37
  • 041 complex-cmp-05-public-methods-and-properties.zip
  • 042 Understanding Named Slots.mp4
    05:45
  • 042 complex-cmp-06-understanding-named-slots.zip
  • 043 Listening to Slot Content Changes.mp4
    05:10
  • 043 complex-cmp-07-slotchange.zip
  • 044 Closing the Modal.mp4
    06:57
  • 045 Dispatching Custom Events.mp4
    03:40
  • 046 Configuring Custom Events.mp4
    04:53
  • 046 complex-cmp-08-configuring-custom-events.zip
  • 047 Finishing it up!.mp4
    04:51
  • 047 complex-cmp-09-finished.zip
  • 048 Useful Resources & Links.html
  • 048 advanced-01-styling-and-shadow-dom.zip
  • 048 advanced-02-css-variables.zip
  • 048 advanced-03-observing-attribute-changes.zip
  • 048 advanced-04-adding-a-render-method.zip
  • 048 advanced-05-finished.zip
  • 048 basics-01-first-custom-element.zip
  • 048 basics-02-using-attributes.zip
  • 048 basics-03-styling-our-elements.zip
  • 048 basics-04-using-the-shadow-dom.zip
  • 048 basics-05-using-slots.zip
  • 048 basics-06-defining-the-template-in-js.zip
  • 048 basics-07-extending-built-in-elements.zip
  • 048 complex-cmp-01-starting-setup.zip
  • 048 complex-cmp-02-creating-the-basic-modal.zip
  • 048 complex-cmp-03-styling-the-modal.zip
  • 048 complex-cmp-04-opening-via-css.zip
  • 048 complex-cmp-05-public-methods-and-properties.zip
  • 048 complex-cmp-06-understanding-named-slots.zip
  • 048 complex-cmp-07-slotchange.zip
  • 048 complex-cmp-08-configuring-custom-events.zip
  • 048 complex-cmp-09-finished.zip
  • external-links.txt
  • 001 Course Roundup.mp4
    00:55
  • 002 Bonus! (Next Steps Overview Other Topics).html
  • Description


    Modern JavaScript from the beginning - all the way up to JS expert level! THE must-have JavaScript resource in 2023.

    What You'll Learn?


    • Learn JavaScript from scratch and in great detail - from beginner to advanced
    • All core features and concepts you need to know in modern JavaScript development
    • Everything you need to become a JavaScript expert and apply for JavaScript jobs
    • Project-driven learning with plenty of examples
    • All about variables, functions, objects and arrays
    • Object-oriented programming
    • Deep dives into prototypes, JavaScript engines & how it works behind the scenes
    • Manipulating web pages (= the DOM) with JavaScript
    • Event handling, asynchronous coding and Http requests
    • Meta-programming, performance optimization, memory leak busting
    • Testing, security and deployment
    • And so much more!

    Who is this for?


  • Beginner web development students who have no or only little JavaScript experience
  • Also developers who know the basics about JavaScript and want to deepen their knowledge
  • Advanced JavaScript developers who want to learn more about the nitty-gritty details and dive into advanced concepts
  • Everyone interested in learning JavaScript and all about how it works
  • What You Need to Know?


  • NO prior JavaScript knowledge is required
  • Basic web development knowledge is recommended
  • Basic understanding of HTML and CSS helps but is NOT required
  • More details


    Description

    Join the most comprehensive and in-depth JavaScript course on Udemy and learn JavaScript from the ground up, in great detail with this bestselling course!

    JavaScript is THE most important programming language you need to learn as a web developer - and with this course, you make sure that you will not miss a single thing you have to know as a JavaScript developer!

    This is the most comprehensive and modern course you can find on JavaScript - it's based on all my JavaScript knowledge AND teaching experience. It's both a complete guide, starting with the core basics of the language, as well as an extensive reference of the JavaScript language and environment, ensuring that both newcomers as well as experienced JavaScript developers get a lot out of this course!

    It's a huge course because it's packed with important knowledge and helpful content. From the core basics, over advanced concepts and JavaScript specialties, all the way up to expert topics like performance optimization and testing - this course has it all. My goal was to create your go-to resource for the JavaScript language, which you can not just use for learning it but also as a resource you can come back to and look up important topics.

    The course is based on my experience as a long-term JavaScript developer as well as a teacher with more than 2,000,000 students on Udemy as well as on my YouTube channel Academind. It's packed with examples, demos, projects, assignments, quizzes and of course videos - all with the goal of giving you the best possible way of learning JavaScript.

    What's in the course?

    This course is obviously packed with content - I therefore strongly recommend that you check out the full course curriculum to get a clear idea of all the topics covered in the course. In general, here's what you'll find in the course:

    • Modern JavaScript from the start: The JavaScript syntax changed over time - in this course, you'll learn the latest syntax from the start (you'll also learn about the old one though, so that you can work in ANY JS project)

    • ALL the Basics: Variables, constants, functions, how scripts are loaded etc

    • Arrays & Objects: We'll explore these very important data structures in great detail

    • Control Structures: Understand how to run code conditionally and in loops

    • A look behind the Scenes: How JavaScript engines work behind the scenes and what that means for us

    • Deep dives into Core Concepts: ALL the special things about JavaScript function, different syntaxes

    • Working with the DOM: How to manipulate web pages dynamically via JavaScript (including deep dives and different use-cases)

    • Events in JavaScript: Learn how to listen to a broad variety of events (e.g. drag & drop) and execute appropriate code

    • Classes & Object-oriented Programming: Learn how to work with classes, prototypes, the "this" keyword, constructor functions and much more

    • Asynchronous and Synchronous Programming: We'll explore callbacks, promises, async/ await and other important tools and language features to execute code correctly

    • Http Requests: Learn how to send Http requests via JavaScript

    • Tooling, Optimizations & Browser Support: Code splitting, producing small code and ensuring that scripts work in all browsers  - this matters and hence is covered in great detail

    • Libraries & Frameworks: Learn about libraries like Axios or frameworks like React.js - why they matter and how to use them

    • Node.js: Whilst focusing on the browser-side for the majority of the course (because the syntax is the same), we'll also have a dedicated section on Node.js to learn all about that JS host environment

    • Security & Performance Optimizations: Of course security matters, so does performance - no surprise that both is covered in the course!

    • Automated Testing: Testing manually is hard work and can be unreliable - in this course you'll also get an introduction into automated testing

    What are the course prerequisites?

    • NO JavaScript knowledge is required - you'll learn it from scratch!

    • You also need NO programming experience other than basic web development knowledge (e.g. how the web works)

    • Basic HTML and CSS knowledge is recommended but not a must-have

    Who this course is for:

    • Beginner web development students who have no or only little JavaScript experience
    • Also developers who know the basics about JavaScript and want to deepen their knowledge
    • Advanced JavaScript developers who want to learn more about the nitty-gritty details and dive into advanced concepts
    • Everyone interested in learning JavaScript and all about how it works

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Academind by Maximilian Schwarzmüller
    Academind by Maximilian Schwarzmüller
    Instructor's Courses
    Bundling the courses and know how of successful instructors, Academind strives to deliver high quality online education. Online Education, Real-Life Success - that's what Academind stands for. Learn topics like web development, data analyses and more in a fun and engaging way.We've taught more than 2,000,000 students on a broad variety of topics. We'd love to teach you as well! :)Keep learning!
    Maximilian Schwarzmüller
    Maximilian Schwarzmüller
    Instructor's Courses
    Experience as (Web) DeveloperStarting out at the age of 12 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. Besides web development I also explored Python and other non-web-only languages. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.Starting web development on the backend (PHP with Laravel, NodeJS, Python) I also became more and more of a frontend developer using modern frameworks like React, Angular or VueJS in a lot of projects. I love both worlds nowadays!I also build full-stack applications and acquired expert DevOps and cloud computing knowledge - proven by the many AWS certifications I hold (incl. the top-level Solutions Architect Professional certification).As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.Experience as InstructorAs a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enables me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses and more than 2,000,000 students on Udemy is the best proof for that.Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding experience is to see how people find new, better jobs, build awesome web applications, acquire amazing projects or simply enjoy their hobby with the help of my content.Together with Manuel Lorenz, I founded Academind to offer the best possible learning experience to our more than 2,000,000 students.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 540
    • duration 50:16:11
    • English subtitles has
    • Release Date 2023/07/30