وب سایت تخصصی شرکت فرین
دسته بندی دوره ها

JavaScript – The Complete Guide 2023 (Beginner + Advanced)

سرفصل های دوره

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


01 - Introduction
  • 001 Introduction
  • 002 What is JavaScript
  • 002 what-is-javascript.pdf
  • 003 JavaScript in Action!
  • 003 getting-started-01-first-app.zip
  • 004 Join our Online Learning Community.html
  • 005 How JavaScript Is Executed
  • 005 how-is-js-executed.pdf
  • 006 Dynamic vs Weakly Typed Languages
  • 006 dynamic-vs-weakly-typed.pdf
  • 007 JavaScript Executes In A Hosted Environment
  • 007 js-host-environment.pdf
  • 008 Course Outline - Whats In This Course
  • 008 course-content.pdf
  • 009 How To Get The Most Out Of This Course
  • 010 Using Course Resources.html
  • 011 JavaScript vs Java
  • 011 java-vs-js.pdf
  • 012 A Brief History Of JavaScript
  • 012 js-history.pdf
  • 013 Setting Up a Development Environment
  • 013 getting-started-02-first-app-done.zip
  • 014 Course FAQs.html

  • 02 - Basics Variables, Data Types, Operators & Functions
  • 001 Module Introduction
  • 002 Setting Up the Project
  • 002 basics-01-starting-project.zip
  • 003 More on Version Control & Git.html
  • 004 Adding JavaScript to the Website
  • 004 basics-02-added-scripts-imports.zip
  • 005 Introducing Variables & Constants
  • 005 variables-constants-overview.pdf
  • 006 Declaring & Defining Variables
  • 006 naming-variables.pdf
  • 007 Working with Variables & Operators
  • 007 basics-03-variables-operators.zip
  • 007 basic-operators.pdf
  • 008 Understanding the Starting Code
  • 009 Data Types Numbers & Strings (Text)
  • 010 Using Constants
  • 010 basics-04-added-constant.zip
  • 011 More on Strings
  • 011 basics-05-added-template-literals.zip
  • 012 Introducing Functions
  • 012 functions-definition.pdf
  • 013 Adding A Custom Function
  • 013 basics-06-basic-function.zip
  • 014 Code Styles, Conventions & Syntax.html
  • 015 Returning Values
  • 015 basics-07-function-with-return.zip
  • 016 The (Un)Importance of Code Order
  • 017 An Introduction to Global & Local Scope
  • 018 Shadowed Variables.html
  • 019 More about the return Statement
  • 020 Executing Functions Indirectly
  • 020 basics-08-user-input-function.zip
  • 021 Indirect vs Direct Function Execution - Summary.html
  • 022 Converting Data Types
  • 022 basics-09-parseint.zip
  • 023 Mixing Numbers & Strings.html
  • 024 Splitting Code into Functions
  • 024 basics-10-function-refactoring.zip
  • 025 Connecting all Buttons to Functions
  • 025 basics-11-subtract-multiply-divide.zip
  • 026 Working with Code Comments
  • 026 basics-12-comments.zip
  • 027 More Operators!
  • 027 operators-summary.pdf
  • 028 More Core Data Types!
  • 028 data-types-summary.pdf
  • 029 Using Arrays
  • 029 basics-14-basic-array-with-push.zip
  • 029 basics-15-extract-array-elements.zip
  • 030 Creating Objects
  • 031 Objects - Common Syntax Gotchas.html
  • 032 Accessing Object Data
  • 032 basics-16-basic-object.zip
  • 033 Adding a Re-Usable Function That Uses Objects
  • 034 undefined, null & NaN
  • 034 undefined-null-nan.pdf
  • 035 The typeof Operator
  • 036 Importing Scripts Correctly with defer & async
  • 036 basics-17-finished.zip
  • 037 Importing JavaScript - Summary.html
  • 037 import-javascript-summary.pdf
  • 038 Wrap Up
  • 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

  • 03 - Efficient Development & Debugging
  • 001 Module Introduction
  • 002 Efficient Development & Debugging - An Overview
  • 003 Configuring the IDE Look & Feel
  • 004 Using Shortcuts
  • 005 Working with Auto-Completion & IDE Hints
  • 006 Installing IDE Extensions
  • 007 Tweaking Editor Settings
  • 008 Utilizing Different IDE Views
  • 009 Finding Help & Working with MDN
  • 010 The ECMAScript Standard.html
  • 011 How to google Correctly
  • 012 Debugging JavaScript - An Overview
  • 013 An Error Message! No Reason To Panic!
  • 014 Using console.log() to look into the Code
  • 015 Next-Level Debugging with the Chrome Devtools & Breakpoints
  • 016 Testing Code Changes Directly in the Devtools
  • 016 dev-debugging-finished.zip
  • 017 Debugging Code directly Inside VS Code
  • 018 Wrap Up
  • 019 Useful Resources & Links.html
  • 019 dev-debugging-finished.zip
  • external-links.txt

  • 04 - Working with Control Structures (if Statements, Loops, Error Handling)
  • 001 Module Introduction
  • 002 Introducing if Statements & Boolean (Comparison) Operators
  • 002 boolean-operators.pdf
  • 002 conditional-code-if-statements.pdf
  • 003 Using Booleans in Conditions & More on Text Comparisons.html
  • 004 Using if Statements
  • 004 control-01-starting-project.zip
  • 005 Working with if, else and else-if
  • 005 control-02-added-if.zip
  • 006 Beware When Comparing Objects & Arrays for Equality!
  • 006 object-arrays-comparison.pdf
  • 007 The Logical AND and OR Operators
  • 007 logical-operators-and-or.pdf
  • 008 Understanding Operator Precedence
  • 009 Beyond true false Truthy and Falsy Values
  • 009 falsy-and-truthy-values.pdf
  • 010 Coercion vs Conversion.html
  • 011 Setting Up a Bigger Example Project (The Monster Killer)
  • 011 control-03-monster-killer-starting-project.zip
  • 012 Adding an Attack Function
  • 012 control-04-attack-function.zip
  • 013 Using if Statements for Checking the Win-Condition
  • 013 control-05-attack-if-else-if.zip
  • 014 Adding More if Statements & A Strong Attack Functionality
  • 014 control-06-strong-attack.zip
  • 015 Time for a Heal Player Functionality!
  • 015 control-07-heal-functionality.zip
  • 016 Controlling the Conditional Bonus Life (Without Boolean Operators!)
  • 016 control-08-bonus-life-functionality.zip
  • 017 Adding a Reset Game Functionality
  • 017 control-09-reset-logic.zip
  • 018 Validating User Input
  • 018 control-10-player-set-initial-health.zip
  • 019 Utilizing Global Constants as Identifiers in Conditional Code
  • 020 Adding a Conditional Battle Log
  • 020 control-11-added-logging.zip
  • 021 Introducing the Ternary Operator
  • 021 ternary-operator.pdf
  • 022 A Bit of Theory Statements vs Expressions
  • 023 Logical Operator Tricks & Shorthands
  • 023 boolean-tricks.pdf
  • 024 Logical Operators - A Quick Summary.html
  • 025 Working with the switch-case Statement
  • 025 control-12-switch-case.zip
  • 026 Introducing Loops
  • 026 loops-overview.pdf
  • 027 The for Loop
  • 027 control-13-for-loop.zip
  • 028 The for-of Loop
  • 028 control-14-for-of-loop.zip
  • 029 The for-in Loop
  • 029 control-15-for-in.zip
  • 030 The while & do-while Loops
  • 030 control-16-while.zip
  • 031 Controlling Loops with break
  • 032 Controlling Iterations with continue
  • 032 control-17-break-continue.zip
  • 033 More Control with Labeled Statements
  • 033 control-18-labeled-statements.zip
  • 034 Error Handling with try-catch - An Introduction
  • 034 error-handling.pdf
  • 035 Throwing Custom Errors
  • 036 Working with try-catch to Catch & Handle Errors
  • 036 control-19-try-catch-finished.zip
  • 037 Wrap Up
  • 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

  • 05 - Behind the Scenes & The (Weird) Past (ES3, ES5) & Present (ES6+) of JavaScript
  • 001 Module Introduction
  • 002 ES5 vs ES6+ (Next Gen JS) - Evolution of JavaScript
  • 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
  • 003 var-vs-let-vs-const.pdf
  • 004 Understanding Hoisting
  • 005 Strict Mode & Writing Good Code
  • 005 behind-scenes-03-strict-mode.zip
  • 006 How Code is Parsed & Compiled
  • 006 js-engines-in-detail.pdf
  • 007 Inside the JavaScript Engine - How the Code Executes
  • 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
  • 009 primitive-vs-reference-values.pdf
  • 010 Garbage Collection & Memory Management
  • 010 behind-scenes-05-callback-example.zip
  • 010 garbage-collection.pdf
  • 011 Wrap Up
  • 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

  • 06 - More on Functions
  • 001 Module Introduction
  • 002 Recapping Functions Knowledge - What We Know Thus Far
  • 003 Parameters vs Arguments.html
  • 004 Functions vs Methods
  • 004 functions-01-starting-code.zip
  • 005 Functions are Objects!
  • 006 Function Expressions Storing Functions in Variables
  • 006 functions-02-function-expressions.zip
  • 007 Function Expressions vs Function Declarations
  • 007 function-declaration-vs-expression.pdf
  • 008 Anonymous Functions
  • 008 functions-03-anonymous-functions.zip
  • 009 Working on the Project Adding User Choices to the Game
  • 009 functions-04-game-user-choice.zip
  • 010 Implementing the Core Game Logic
  • 011 Introducing Arrow Functions
  • 011 arrow-functions.pdf
  • 011 functions-05-arrow-functions.zip
  • 012 Different Arrow Function Syntaxes.html
  • 013 Outputting Messages to the User
  • 013 functions-06-finished-game-logic.zip
  • 014 Default Arguments in Functions
  • 014 functions-07-default-arguments.zip
  • 015 Introducing Rest Parameters (Rest Operator)
  • 015 functions-08-rest-parameters.zip
  • 016 Creating Functions Inside of Functions
  • 016 functions-09-functions-in-functions.zip
  • 017 Understanding Callback Functions
  • 017 functions-10-callback-functions.zip
  • 018 Working with bind()
  • 018 functions-11-bind-finished.zip
  • 019 Adding bind() to the Calculator Project
  • 019 functions-revisited.zip
  • 020 call() and apply()
  • 021 Wrap Up
  • 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

  • 07 - Working with the DOM (Browser HTML Code) in JavaScript
  • 001 Module Introduction
  • 002 Whats the DOM
  • 003 Document and Window Object
  • 003 dom-01-starting-code.zip
  • 004 Understanding the DOM and how its created
  • 004 the-document-object-model-dom.pdf
  • 005 Nodes & Elements - Querying the DOM Overview
  • 005 nodes-vs-elements.pdf
  • 006 Selecting Elements in the DOM
  • 006 dom-02-basic-selection-code.zip
  • 006 querying-elements.pdf
  • 007 Summary Node Query Methods.html
  • 008 Exploring and Changing DOM Properties
  • 008 evaluating-and-manipulating-elements.pdf
  • 009 Attributes vs Properties
  • 009 attributes-vs-properties.pdf
  • 010 Selecting Multiple Elements & Summary
  • 011 Traversing the DOM - Overview
  • 011 dom-traversal.pdf
  • 012 Traversing Child Nodes
  • 013 Using parentNode & parentElement
  • 014 Selecting Sibling Elements
  • 014 dom-03-dom-traversing.zip
  • 015 DOM Traversal vs Query Methods
  • 016 Styling DOM Elements
  • 016 dom-04-styling.zip
  • 016 styling-dom-elements.pdf
  • 017 Creating Elements with JS - Overview
  • 018 Adding Elements via HTML in Code
  • 019 Adding Elements via createElement()
  • 020 Inserting DOM Elements
  • 020 creating-and-inserting-elements.pdf
  • 021 Cloning DOM Nodes
  • 022 Live Node Lists vs Static Node Lists
  • 023 Removing Elements
  • 024 Insertion & Removal Method Summary
  • 024 dom-05-finished-basics.zip
  • 024 insertion-removal-summary.pdf
  • 025 Summary Insert, Replace, Remove.html
  • 026 Setting Up the Practice Project
  • 026 dom-06-demo-project-setup.zip
  • 027 Selecting the Modal and Add Button
  • 027 dom-07-selected-modal-and-button.zip
  • 028 Opening a Modal by Changing CSS Classes
  • 028 dom-08-toggle-modal-visible-class.zip
  • 029 Controlling the Backdrop
  • 029 dom-09-handling-movie-modal.zip
  • 030 Fetching and Validating User Input
  • 030 dom-10-getting-user-input.zip
  • 031 Creating a Movie in JavaScript & Clearing the Input
  • 032 Rendering Movie Items on the Screen
  • 032 dom-11-adding-and-rendering-movies.zip
  • 033 Deleting Movie Elements
  • 033 dom-12-delete-elements.zip
  • 034 Showing & Hiding the Are you sure Dialog
  • 034 dom-13-two-modals.zip
  • 035 Starting with the Confirmation Logic
  • 036 Finishing the App
  • 036 dom-14-finished.zip
  • 037 Wrap Up
  • 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

  • 08 - More on Arrays & Iterables
  • 001 Module Introduction
  • 002 What are Iterables and Array-like Objects
  • 002 iterables-array-like.pdf
  • 003 Creating Arrays
  • 003 arrays-01-starting-code.zip
  • 003 arrays-02-creating-arrays.zip
  • 004 Which Data Can You Store In Arrays
  • 005 arrays-03-push-pop-shift-unshift.zip
  • 005 push(), pop(), unshift(), shift() - Adding & Removing Elements
  • 006 The splice() Method
  • 006 arrays-04-splice.zip
  • 007 Selecting Ranges & Creating Copies with slice()
  • 007 arrays-05-slice.zip
  • 008 Adding Arrays to Arrays with concat()
  • 008 arrays-06-concat.zip
  • 009 Retrieving Indexes with indexOf() & lastIndexOf()
  • 009 arrays-07-indexof.zip
  • 010 Finding Stuff find() and findIndex()
  • 010 arrays-08-find-findindex.zip
  • 011 Is it Included
  • 012 Alternative to for Loops The forEach() Method
  • 012 arrays-09-foreach.zip
  • 013 Transforming Data with map()
  • 013 arrays-10-map.zip
  • 014 arrays-11-sort-reverse.zip
  • 014 sort()ing and reverse()ing
  • 015 Filtering Arrays with filter()
  • 016 Where Arrow Functions Shine!
  • 016 arrays-12-filter-and-short-arrow-function.zip
  • 017 The Important reduce() Method
  • 017 arrays-13-reduce.zip
  • 018 Chaining Methods in JavaScript.html
  • 019 Arrays & Strings - split() and join()
  • 019 arrays-14-join-split.zip
  • 020 The Spread Operator (...)
  • 020 arrays-15-spread-operator.zip
  • 021 Understanding Array Destructuring
  • 021 arrays-16-destructuring.zip
  • 022 Maps & Sets - Overview
  • 023 Working with Sets
  • 023 arrays-17-sets.zip
  • 024 Working with Maps
  • 024 arrays-18-maps.zip
  • 025 Maps vs Objects
  • 025 maps-sets-objects.pdf
  • 026 Understanding WeakSet
  • 027 Understanding WeakMap
  • 027 arrays-19-weakset-weakmap.zip
  • 028 Wrap Up
  • 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

  • 09 - More on Objects
  • 001 Module Introduction
  • 002 Whats an Object
  • 002 objects-01-starting-project.zip
  • 002 what-are-objects.pdf
  • 003 Objects & Primitive Values.html
  • 004 Objects - Recap
  • 004 objects-01-starting-project.zip
  • 004 objects-02-object-recap.zip
  • 005 Adding, Modifying & Deleting Properties
  • 005 objects-03-deleting-properties.zip
  • 006 Special Key Names & Square Bracket Property Access
  • 006 objects-04-property-names-square-brackets.zip
  • 007 Property Types & Property Order
  • 008 Dynamic Property Access & Setting Properties Dynamically
  • 008 objects-05-dynamic-access-and-assignment.zip
  • 009 Demo App & Shorthand Property Syntax
  • 010 Rendering Elements based on Objects
  • 010 objects-07-rendering-movies.zip
  • 011 for-in Loops & Outputting Dynamic Properties
  • 011 objects-08-dynamic-property-access.zip
  • 012 Adding the Filter Functionality
  • 012 objects-09-search-functionality.zip
  • 013 Understanding Chaining (Property & Method Chaining)
  • 014 The Object Spread Operator (...)
  • 015 Understanding Object.assign()
  • 016 Object Destructuring
  • 016 objects-10-destructuring.zip
  • 017 Checking for Property Existance
  • 018 Introducing this
  • 018 objects-11-introducing-this.zip
  • 019 The Method Shorthand Syntax
  • 020 The this Keyword And Its Strange Behavior
  • 020 objects-12-this-and-bind.zip
  • 021 call() and apply()
  • 021 objects-13-call-and-apply.zip
  • 022 What the Browser (Sometimes) Does to this
  • 023 objects-14-this-and-arrow-functions.zip
  • 023 this and Arrow Functions
  • 024 this - Summary.html
  • 025 Getters & Setters
  • 025 objects-15-getters-setters.zip
  • 026 Wrap Up
  • 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

  • 10 - Classes & Object-oriented Programming (OOP)
  • 001 Module Introduction
  • 002 What is Object-oriented Programming (OOP)
  • 002 whats-oop.pdf
  • 003 Getting Started with OOP Code
  • 003 oop-01-starting-setup.zip
  • 004 Defining & Using a First Class
  • 004 classes-and-instances.pdf
  • 004 oop-02-first-class.zip
  • 005 Working with Constructor Methods
  • 006 Fields vs Properties
  • 006 class-properties-fields-methods.pdf
  • 007 Using & Connecting Multiple Classes
  • 007 oop-03-productlist-productitem-classes.zip
  • 008 Binding Class Methods & Working with this
  • 008 oop-04-addtocart-method.zip
  • 009 Adding a Cart and Shop Class
  • 010 Communicating Can Be Challenging!
  • 011 Static Methods & Properties
  • 011 oop-05-static-methods-properties.zip
  • 011 static-fields-methods.pdf
  • 012 First Summary & Classes vs Object Literals
  • 012 classes-vs-object-literals.pdf
  • 013 Getters & Setters
  • 013 oop-06-getters-setters.zip
  • 014 Introducing Inheritance
  • 014 inheritance.pdf
  • 014 oop-07-base-component-class.zip
  • 015 Implementing Inheritance
  • 015 oop-08-shopping-cart-extending.zip
  • 016 Using Inheritance Everywhere
  • 016 oop-09-inheritance-everywhere.zip
  • 017 Overriding Methods and the super() Constructor
  • 017 oop-10-render-in-constructor.zip
  • 018 super() Constructor Execution, Order & this
  • 019 Different Ways of Adding Methods
  • 019 oop-11-error-function-methods-properties.zip
  • 020 Private Properties
  • 020 oop-12-private-properties.zip
  • 020 private-fields-properties.pdf
  • 021 Pseudo-Private Properties.html
  • 022 The instanceof Operator
  • 023 Built-in Classes
  • 024 Understanding Object Descriptors
  • 025 Wrap Up
  • 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

  • 11 - Deep Dive Constructor Functions & Prototypes
  • 001 Module Introduction
  • 002 Introducing Constructor Functions
  • 002 prototypes-01-starting-setup.zip
  • 003 Constructor Functions vs Classes & Understanding new
  • 003 constructor-functions-classes.pdf
  • 004 Introducing Prototypes
  • 004 prototypes.pdf
  • 004 prototypes-02-basic-prototype.zip
  • 005 Prototypes - Summary.html
  • 006 Working with Prototypes
  • 006 prototypes-03-editing-the-prototype-correctly.zip
  • 007 The Prototype Chain and the Global Object
  • 007 prototypes-04-global-object-prototype.zip
  • 007 prototype-chain.pdf
  • 008 Classes & Prototypes
  • 009 Methods in Classes & In Constructors
  • 009 different-kinds-of-method-declarations.pdf
  • 009 prototypes-06-property-methods-bind.zip
  • 010 Built-in Prototypes in JavaScript
  • 011 Setting & Getting Prototypes
  • 011 prototypes-07-getting-setting-prototypes.zip
  • 012 Wrap Up
  • 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

  • 12 - Practice OOP & Classes
  • 001 Module Introduction
  • 001 practice-oop-01-starting-setup.zip
  • 002 First Project Steps & Planning
  • 002 practice-oop-01-starting-setup.zip
  • 003 Creating Project Lists & Parsing Element Data
  • 003 practice-oop-02-created-lists-basic-logic.zip
  • 004 Starting with the Switch Project Logic
  • 005 Passing Method References Around
  • 005 practice-oop-03-passing-functions-around.zip
  • 006 Moving DOM Elements
  • 006 practice-oop-05-finished-move-item-logic.zip
  • 007 Adding a Tooltip
  • 007 practice-oop-06-basic-tooltip.zip
  • 007 practice-oop-07-improved-tooltip.zip
  • 008 Adding Inheritance
  • 008 practice-oop-08-base-component-class.zip
  • 009 Wrap Up
  • 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

  • 13 - Back to the DOM & More Browser APIs
  • 001 Module Introduction
  • 001 practice-oop-08-base-component-class.zip
  • 002 Using dataset (data- Attributes)
  • 002 adv-dom-01-dataset.zip
  • 003 Getting Element Box Dimensions
  • 003 adv-dom-sizes-html.zip
  • 004 Working with Element Sizes & Positions
  • 004 sizes.pdf
  • 005 The DOM & Prototypes
  • 006 Positioning the Tooltip
  • 006 adv-dom-02-basic-tooltip-positioning.zip
  • 006 adv-dom-03-correct-tooltip-positioning.zip
  • 007 Handling Scrolling
  • 007 adv-dom-04-scrolling-logic.zip
  • 008 Working with template Tags
  • 008 adv-dom-05-template.zip
  • 009 Loading Scripts Dynamically
  • 009 adv-dom-06-dynamically-loaded-scripts.zip
  • 010 Setting Timers & Intervals
  • 010 adv-dom-07-interval-timer.zip
  • 011 The location and history Objects
  • 012 The navigator Object
  • 013 Working with Dates
  • 014 The Error Object & Constructor Function
  • 015 Wrap Up
  • 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

  • 14 - Working with Events
  • 001 Module Introduction
  • 002 Introduction to Events in JavaScript
  • 002 events-in-js.pdf
  • 003 Different Ways of Listening to Events
  • 003 events-01-starting-setup.zip
  • 004 Removing Event Listeners
  • 004 events-02-addeventlistener-removeeventlistener.zip
  • 005 The event Object
  • 005 events-03-the-event-object.zip
  • 006 Supported Event Types
  • 006 events-04-the-scroll-event.zip
  • 007 Example Basic Infinite Scrolling.html
  • 008 Working with preventDefault()
  • 008 events-05-preventdefault.zip
  • 009 Understanding Capturing & Bubbling Phases
  • 010 Event Propagation & stopPropagation()
  • 010 events-06-event-propagation.zip
  • 010 events-07-not-all-events-propagate.zip
  • 011 Using Event Delegation
  • 011 events-08-event-delegation.zip
  • 012 Triggering DOM Elements Programmatically
  • 012 events-09-triggering-events-programmatically.zip
  • 013 Event Handler Functions & this
  • 013 events-10-event-listeners-and-this.zip
  • 014 Drag & Drop - Theory
  • 015 Configuring Draggable Elements
  • 015 events-11-starting-drag-and-drop-implementation.zip
  • 016 Marking the Drop Area
  • 017 Dropping & Moving Data + Elements
  • 017 events-13-dropping.zip
  • 017 events-14-finished.zip
  • 018 Firefox Adjustments.html
  • 019 Wrap Up
  • 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

  • 15 - Advanced Function Concepts
  • 001 Module Introduction
  • 002 Pure Functions & Side-Effects
  • 002 adv-fn-01-starting-setup.zip
  • 002 pure-functions.pdf
  • 003 Impure vs Pure Functions
  • 003 adv-fn-02-pure-functions.zip
  • 004 Factory Functions
  • 004 adv-fn-03-factory-functions.zip
  • 005 Closures
  • 005 adv-fn-04-closures.zip
  • 006 Closures in Practice
  • 006 adv-fn-05-scopes-and-environments.zip
  • 007 Closures & Memory Management
  • 008 Optional IIFEs.html
  • 009 Introducing Recursion
  • 009 adv-fn-06-recursion-basic.zip
  • 010 Advanced Recursion
  • 010 adv-fn-07-recursion-advanced.zip
  • 011 Wrap Up
  • 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

  • 16 - More on Numbers & Strings
  • 001 Module Introduction
  • 002 How Numbers Work & Behave in JavaScript
  • 002 nums-strings-01-starting-setup.zip
  • 003 Floating Point (Im)Precision
  • 004 The BigInt Type
  • 005 The Global Number and Math Objects
  • 006 Example Generate Random Number Between Min Max
  • 006 nums-strings-02-added-random-between.zip
  • 007 Exploring String Methods
  • 008 Tagged Templates
  • 008 nums-strings-03-tagged-templates.zip
  • 009 Introducing Regular Expressions (RegEx)
  • 010 More on Regular Expressions
  • 011 Wrap Up
  • 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

  • 17 - Async JavaScript Promises & Callbacks
  • 001 Module Introduction
  • 002 Understanding Synchronous Code Execution (Sync Code)
  • 002 async-01-starting-setup.zip
  • 002 js-sync-code-single-threaded.pdf
  • 003 Understanding Asynchronous Code Execution (Async Code)
  • 003 js-async-code.pdf
  • 004 Blocking Code & The Event Loop
  • 004 async-02-sync-code-loop.zip
  • 004 event-loop.pdf
  • 005 Sync + Async Code - The Execution Order
  • 005 async-03-get-user-position.zip
  • 006 Multiple Callbacks & setTimeout(0)
  • 006 async-04-message-queue-event-loop.zip
  • 007 Getting Started with Promises
  • 007 async-05-first-promise.zip
  • 008 Chaining Multiple Promises
  • 008 async-06-promise-chaining.zip
  • 009 Promise Error Handling
  • 009 async-07-error-handling.zip
  • 010 Promise States & finally.html
  • 011 Async await
  • 012 Async await & Error Handling
  • 013 Async await vs Raw Promises
  • 013 async-08-async-await.zip
  • 014 Promise.all(), Promise.race() etc
  • 014 async-09-promise-all-race-etc.zip
  • 015 Wrap Up
  • 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

  • 18 - Working with Http Requests
  • 001 Module Introduction
  • 002 What & Why
  • 002 behind-the-scenes-requests.pdf
  • 003 How The Web Works.html
  • 004 More Background about Http
  • 004 http-requests.pdf
  • 005 Getting Started with Http
  • 005 http-01-starting-setup.zip
  • 006 Sending a GET Request
  • 007 JSON Data & Parsing Data
  • 007 http-02-sending-get-requests.zip
  • 008 JSON Data Deep Dive.html
  • 009 Promisifying Http Requests (with XMLHttpRequest)
  • 010 Sending Data with a POST Request
  • 010 http-03-sending-post-requests.zip
  • 011 Triggering Requests via the UI
  • 011 http-04-connecting-requests-to-ui.zip
  • 012 The Fetch Button Always Appends.html
  • 013 Sending a DELETE Request
  • 013 http-05-delete-request.zip
  • 014 Handling Errors
  • 014 http-06-error-handling.zip
  • 015 Using the fetch() API
  • 015 http-07-getting-started-with-fetch.zip
  • 016 POSTing Data with the fetch() API
  • 016 http-08-post-request-with-fetch.zip
  • 017 Adding Request Headers
  • 017 http-09-headers.zip
  • 018 fetch() & Error Handling
  • 018 http-10-fetch-api-error-handling.zip
  • 019 XMLHttpRequest vs fetch()
  • 020 Working with FormData
  • 020 http-11-formdata.zip
  • 021 Wrap Up
  • 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

  • 19 - Working with JavaScript Libraries
  • 001 Module Introduction
  • 002 What & Why
  • 003 Adding Libraries (Example lodash)
  • 003 lib-01-starting-setup.zip
  • 003 lib-02-lodash.zip
  • 004 Example jQuery
  • 005 Discovering Libraries
  • 006 Axios Library & Http Requests
  • 006 http-11-formdata.zip
  • 006 lib-03-axios.zip
  • 007 Third-Party Library Considerations
  • 008 Wrap Up
  • 009 Useful Resources & Links.html
  • 009 lib-01-starting-setup.zip
  • 009 lib-02-lodash.zip
  • 009 lib-03-axios.zip

  • 20 - Modular JavaScript (Working with Modules)
  • 001 Module Introduction
  • 002 Splitting Code in a Sub-optimal Way
  • 002 modules-01-starting-project.zip
  • 002 modules-02-non-module-code-splitting.zip
  • 003 A First Step Towards JavaScript Modules
  • 004 We Need a Development Server!
  • 005 First import export Work
  • 005 modules-03-dev-server-first-module.zip
  • 006 Switching All Files To Use Modules
  • 006 modules-04-modules-everywhere.zip
  • 007 More Named Export Syntax Variations
  • 007 modules-05-multiple-exports-and-imports.zip
  • 007 modules-06-import-bundling-and-aliases.zip
  • 008 Working With Default Exports
  • 008 modules-07-default-export.zip
  • 009 Dynamic Imports & Code Splitting
  • 009 modules-08-dynamic-imports.zip
  • 010 When Does Module Code Execute
  • 010 modules-09-executing-code-in-modules.zip
  • 011 Module Scope & globalThis
  • 011 modules-10-module-scope-globalthis.zip
  • 012 Wrap Up
  • 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

  • 21 - JavaScript Tooling & Workflows
  • 001 Module Introduction
  • 002 Project Limitations & Why We Need Tools
  • 002 helpful-tools-and-why.pdf
  • 003 Workflow Overview
  • 003 setup.pdf
  • 004 Setting Up a npm Project
  • 004 tooling-01-starting-project.zip
  • 004 tooling-02-initialized-npm.zip
  • 005 Working with npm Packages
  • 006 Linting with ESLint
  • 006 tooling-03-eslint.zip
  • 007 Configuring ESLint.html
  • 008 Important Webpack Version & Configuring npm Scripts.html
  • 009 Bundling with Webpack
  • 009 tooling-04-basic-webpack-setup.zip
  • 010 Bonus Multiple Entry Points.html
  • 011 Development Mode & Fixing Lazy Loading
  • 012 Using webpack-dev-server
  • 013 Generating Sourcemaps
  • 013 tooling-05-finished-dev-workflow-dev-server.zip
  • 014 Building For Production
  • 014 tooling-06-production-workflow.zip
  • 015 Final Optimizations
  • 015 tooling-07-final-optimizations.zip
  • 016 Using Third Party Packages with npm & Webpack
  • 016 tooling-08-third-party-libs.zip
  • 017 Wrap Up
  • 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

  • 22 - Utilizing Browser Storage
  • 001 Module Introduction
  • 002 Browser Storage Options
  • 002 what-is-browser-storage.pdf
  • 003 localStorage & sessionStorage
  • 003 storage-01-starting-setup.zip
  • 003 storage-02-localstorage.zip
  • 004 Getting Started with Cookies
  • 005 Working with Cookies
  • 005 storage-03-cookies.zip
  • 006 Getting Started with IndexedDB
  • 007 Working with IndexedDB
  • 007 storage-04-indexeddb.zip
  • 008 Wrap Up
  • 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

  • 23 - JavaScript & Browser Support
  • 001 Module Introduction
  • 002 What Is Browser Support About
  • 002 js-syntax-vs-browser-apis.pdf
  • 002 what-is-browser-support.pdf
  • 003 Determining Browser Support For A JavaScript Feature
  • 003 determining-browser-support.pdf
  • 004 Determining Required Support
  • 004 determining-requirements.pdf
  • 005 Solution Feature Detection + Fallback Code
  • 005 feature-detection-and-fallbacks.pdf
  • 005 support-01-starting-setup.zip
  • 005 support-02-feature-detection.zip
  • 006 Solution Using Polyfills
  • 006 polyfills.pdf
  • 007 Solution Transpiling Code
  • 007 support-03-babel-loader.zip
  • 007 transpilation.pdf
  • 008 Improvement Automatically Detect + Add Polyfills
  • 008 support-04-corejs-polyfills.zip
  • 009 What about Support Outside of Browsers
  • 009 support-04-corejs-polyfills.zip
  • 010 Browser Support Outside of JavaScript Files
  • 011 Wrap Up
  • 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

  • 24 - Time to Practice Share My Place App
  • 001 Module Introduction
  • 002 Note Use the LTS Version of NodeJS.html
  • 003 Setting Up the Project
  • 003 practice-places-01-starting-setup.zip
  • 004 Getting DOM Access
  • 005 Getting the User Location
  • 005 practice-places-02-first-get-user-location.zip
  • 006 Adding Feedback (Showing a Modal)
  • 006 practice-places-03-show-modal-basic.zip
  • 007 Hiding the Modal
  • 007 practice-places-04-finished-modal-code.zip
  • 008 Rendering a Map with Google Maps
  • 008 practice-places-05-render-google-maps-map.zip
  • 009 Continuing without a Credit Card.html
  • 010 Finding an Address & Getting the Coordinates
  • 010 practice-places-06-convert-coordinates-to-address.zip
  • 011 Converting User Input to Coordinates
  • 011 practice-places-07-get-address-display-on-map.zip
  • 012 Creating a Share Place Link
  • 012 practice-places-08-create-sharable-link.zip
  • 013 Copying the Link to the Clipboard
  • 013 practice-places-09-share-link-via-clipboard-api.zip
  • 014 Rendering the Shared Place Screen
  • 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

  • 25 - Working with JavaScript Frameworks
  • 001 Module Introduction
  • 002 What and Why
  • 002 important-frontend-frameworks.pdf
  • 002 what-is-a-framework.pdf
  • 003 The Idea Behind React.js
  • 003 introducing-reactjs.pdf
  • 004 Analysing a React Project
  • 004 js-frameworks-01-react-app.zip
  • 005 Wrap Up
  • 006 Useful Resources & Links.html
  • 006 js-frameworks-01-react-app.zip
  • external-links.txt

  • 26 - Meta-Programming Symbols, Iterators, Generators, Reflect API & Proxy API
  • 001 Module Introduction
  • 002 Understanding Symbols
  • 002 meta-01-starting-setup.zip
  • 003 Well-known Symbols
  • 003 meta-02-symbols.zip
  • 004 Understanding Iterators
  • 004 meta-03-iterators.zip
  • 005 Generators & Iterable Objects
  • 005 meta-04-generators.zip
  • 006 Generators Summary & Built-in Iterables Examples
  • 006 meta-05-finished-generators.zip
  • 007 The Reflect API
  • 007 meta-06-reflect-api.zip
  • 008 The Proxy API and a First Trap
  • 008 meta-07-proxy-api-get-trap.zip
  • 008 meta-programming.pdf
  • 009 Working with Proxy Traps
  • 009 meta-08-proxy-api-set-trap.zip
  • 010 Wrap Up
  • 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

  • 27 - Node.js An Introduction
  • 001 Module Introduction
  • 002 JavaScript is a Hosted Language
  • 002 js-hosted-language.pdf
  • 003 Installation & Basics
  • 003 node-01-first-nodejs-code.zip
  • 004 Understanding Modules & File Access
  • 004 node-02-writing-and-reading-files.zip
  • 005 Working with Incoming Http Requests
  • 005 node-03-added-first-server.zip
  • 006 Sending Responses (HTML Data)
  • 006 node-04-sending-back-html-responses.zip
  • 007 Parsing Incoming Data
  • 007 node-05-parsing-request-data.zip
  • 008 Introducing & Installing Express.js
  • 008 node-06-added-expressjs.zip
  • 009 Express.js The Basics
  • 009 node-07-first-basic-expressjs-code.zip
  • 010 Extracting Data
  • 010 node-08-parsing-the-request-body.zip
  • 011 Rendering Server-side HTML with Templates & EJS
  • 011 node-09-dynamic-html-templates-ejs.zip
  • 012 Enhancing Our Project
  • 013 Adding Basic REST Routes
  • 013 node-10-basic-rest-routes.zip
  • 013 node-frontend-01-basic-post-request-setup.zip
  • 014 Understanding CORS (Cross Origin Resource Sharing)
  • 014 node-11-cors.zip
  • 015 Sending the Location ID to the Frontend
  • 015 node-12-send-id-to-frontend.zip
  • 015 node-frontend-02-render-link-with-id.zip
  • 016 Adding the GET Location Route
  • 016 node-13-get-location-route.zip
  • 016 node-frontend-03-send-get-location-request.zip
  • 017 Introducing MongoDB (Database)
  • 017 node-14-added-database-example-mongodb.zip
  • 018 NodeJS Error Handling.html
  • 019 Wrap Up
  • 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

  • 28 - Security
  • 001 Module Introduction
  • 002 Security Hole Overview & Exposing Data in your Code
  • 002 what-could-go-wrong.pdf
  • 003 Cross-Site Scripting Attacks (XSS)
  • 003 security-01-finished.zip
  • 004 Third-Party Libraries & XSS
  • 005 CSRF Attacks (Cross Site Request Forgery)
  • 005 csrf.pdf
  • 006 CORS (Cross Origin Resource Sharing)
  • 006 cors.pdf
  • 007 Wrap Up
  • 008 Useful Resources & Links.html
  • 008 security-01-finished.zip

  • 29 - Deploying JavaScript Code
  • 001 Module Introduction
  • 002 Deployment Steps
  • 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)
  • 004 deployment-01-static-hosting-firebase.zip
  • 005 Injecting Script Imports Into HTML Automatically.html
  • 006 Example Dynamic Page Deployment (with Server-side Code)
  • 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

  • 30 - Performance & Optimizations
  • 001 Module Introduction
  • 002 What is Performance Optimization About
  • 002 what-is-performance.pdf
  • 003 Optimization Potentials
  • 003 performance-optimization-layers.pdf
  • 004 Measuring Performance
  • 004 measuring-performance.pdf
  • 005 Diving Into The Browser Devtools (for Performance Measuring)
  • 005 performance-01-starting-setup.zip
  • 006 Further Resources
  • 007 Preparing The Testing Setup
  • 008 Optimizing Startup Time & Code Usage Coverage
  • 008 performance-02-lazy-loading.zip
  • 009 Updating The DOM Correctly
  • 009 performance-03-update-list-efficiently.zip
  • 010 Updating Lists Correctly
  • 010 performance-04-finished-update-dom-code.zip
  • 011 Optimizing The Small Things
  • 012 Micro-Optimizations (Think Twice!)
  • 012 benchmarking.pdf
  • 012 performance-05-microoptimizations.zip
  • 013 Finding & Fixing Memory Leaks
  • 014 Server-side Performance Optimizations.html
  • 015 Wrap Up
  • 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

  • 31 - Introduction to Testing
  • 001 Module Introduction
  • 002 What Is Testing Why Does It Matter
  • 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
  • 003 testing-01-starting-setup.zip
  • 004 Writing & Running Unit Tests
  • 004 testing-02-unit-tests.zip
  • 005 Writing & Running Integration Tests
  • 005 testing-03-integration-tests.zip
  • 006 Writing & Running e2e Tests
  • 006 testing-04-e2e-tests.zip
  • 007 Dealing with Async Code
  • 007 testing-05-async-starting-setup.zip
  • 008 Working with Mocks
  • 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

  • 32 - Bonus Programming Paradigms (Procedural vs Object Oriented vs Functional)
  • 001 Module Introduction
  • 002 What are Programming Paradigms
  • 003 Procedural Programming in Practice
  • 003 paradigms-01-starting-setup.zip
  • 003 paradigms-02-procedural.zip
  • 004 Object Oriented Programming in Practice
  • 004 paradigms-03-oop.zip
  • 005 Functional Programming in Practice
  • 005 paradigms-04-functional.zip
  • 006 Wrap Up
  • 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

  • 33 - Bonus Data Structures & Algorithms Introduction
  • 001 Module Introduction
  • 002 What are Data Structures & Algorithms
  • 003 A First Example
  • 003 algo-01-starting-setup.zip
  • 003 algo-02-first-getmin-algorithm.zip
  • 004 Solving the Same Problem Differently
  • 004 algo-03-alternative-algorithm.zip
  • 005 Performance & The Big O Notation
  • 006 More Time Complexities & Comparing Algorithms
  • 006 algo-04-big-0-time-complexity.zip
  • 007 More on Big O
  • 008 More Examples
  • 008 algo-05-more-algorithms.zip
  • 009 Diving into Data Structures & Time Complexities
  • 010 Where to Learn More & Wrap Up
  • 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

  • 34 - Bonus TypeScript Introduction
  • 001 Module Introduction
  • 002 What is TypeScript and Why would you use it
  • 003 Working with Types
  • 003 ts-01-first-example-basics.zip
  • 004 Core Types & Diving Deeper
  • 004 ts-02-core-types-type-casting.zip
  • 005 Object Types, Array Types & Function Types
  • 005 ts-03-object-array-function-types.zip
  • 006 Advanced Types (Literal Types, Union Types, Enums)
  • 006 ts-04-union-literal-types.zip
  • 006 ts-05-enums.zip
  • 007 Classes & Interfaces
  • 007 ts-06-classes-interfaces.zip
  • 008 Generic Types
  • 008 ts-07-generics.zip
  • 009 Configuring the TypeScript Compiler
  • 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

  • 35 - Bonus Web Components
  • 001 Module Introduction
  • 002 Web Components in Action
  • 002 getting-started-02-finished.zip
  • 002 index.html
  • 002 modal.zip
  • 003 What are Web Components
  • 004 Why Web Components
  • 005 Getting Started!
  • 006 Web Component Browser Support
  • 007 Our Development Setup
  • 008 A First Custom Element
  • 008 basics-01-first-custom-element.zip
  • 009 Interacting with the Surrounding DOM
  • 010 Understanding the Custom Element Lifecycle
  • 011 Using connectedCallback for DOM Access
  • 012 Listening to Events Inside the Component
  • 013 Using Attributes on Custom Elements
  • 013 basics-02-using-attributes.zip
  • 014 Styling our Elements
  • 014 basics-03-styling-our-elements.zip
  • 015 Working with the Shadow DOM
  • 015 basics-04-using-the-shadow-dom.zip
  • 016 Adding an HTML Template
  • 017 Using Slots
  • 017 basics-05-using-slots.zip
  • 018 Defining the Template in JavaScript
  • 018 basics-06-defining-the-template-in-js.zip
  • 019 Using Style Tags in the Shadow DOM
  • 020 Extending Built-in Elements
  • 020 basics-07-extending-built-in-elements.zip
  • 021 The Next Steps
  • 022 Understanding Shadow DOM Projection
  • 023 Styling slot Content Outside of the Shadow DOM
  • 024 Styling slot Content Inside of the Shadow DOM
  • 025 Styling the Host Component
  • 026 Conditional Host Styling
  • 027 Styling with the Host Content in Mind
  • 027 advanced-01-styling-and-shadow-dom.zip
  • 028 Smart Dynamic Styling with CSS Variables
  • 028 advanced-02-css-variables.zip
  • 029 Cleaning Up the Overall Styling
  • 030 Observing Attribute Changes
  • 030 advanced-03-observing-attribute-changes.zip
  • 031 Adjusting the Component Behavior Upon Attribute Changes
  • 032 Using disconnectedCallback
  • 033 Adding a render() Method
  • 033 advanced-04-adding-a-render-method.zip
  • 034 Final Adjustment.html
  • 034 advanced-05-finished.zip
  • 035 The Next Steps
  • 036 Creating the Basic Modal Component
  • 036 complex-cmp-01-starting-setup.zip
  • 036 complex-cmp-02-creating-the-basic-modal.zip
  • 037 Adding the Modal Container
  • 038 Styling the Modal Elements
  • 038 complex-cmp-03-styling-the-modal.zip
  • 039 Adding Some General App Logic
  • 040 Opening the Modal via CSS
  • 040 complex-cmp-04-opening-via-css.zip
  • 041 Public Methods & Properties
  • 041 complex-cmp-05-public-methods-and-properties.zip
  • 042 Understanding Named Slots
  • 042 complex-cmp-06-understanding-named-slots.zip
  • 043 Listening to Slot Content Changes
  • 043 complex-cmp-07-slotchange.zip
  • 044 Closing the Modal
  • 045 Dispatching Custom Events
  • 046 Configuring Custom Events
  • 046 complex-cmp-08-configuring-custom-events.zip
  • 047 Finishing it up!
  • 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

  • 36 - Roundup & Next Steps
  • 001 Course Roundup
  • 002 Bonus! (Next Steps Overview Other Topics).html
  • 139,000 تومان
    بیش از یک محصول به صورت دانلودی میخواهید؟ محصول را به سبد خرید اضافه کنید.
    خرید دانلودی فوری

    در این روش نیاز به افزودن محصول به سبد خرید و تکمیل اطلاعات نیست و شما پس از وارد کردن ایمیل خود و طی کردن مراحل پرداخت لینک های دریافت محصولات را در ایمیل خود دریافت خواهید کرد.

    ایمیل شما:
    تولید کننده:
    شناسه: 17129
    حجم: 12014 مگابایت
    مدت زمان: 3017 دقیقه
    تاریخ انتشار: 11 مرداد 1402
    طراحی سایت و خدمات سئو

    139,000 تومان
    افزودن به سبد خرید