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

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 دقیقه
    تاریخ انتشار: ۱۱ مرداد ۱۴۰۲
    طراحی سایت و خدمات سئو

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