Modern JavaScript For Beginners

Video description

JavaScript is a core technology programming language of the World Wide Web with HTML and CSS. Almost all websites use JavaScript as a webpage client, often with third-party libraries. JavaScript is a multi-paradigm that supports event-driven, functional, and imperative coding with APIs to work with text, dates, regular expressions, data structures, and the Document Object Model (DOM).

This course begins with a foundation in JavaScript, covering arrays, functions, objects, events, DOM, web APIs, loops, math, date and timers, and canvas drawing. Create a video player with customized controls and a fun shape-drop game. Explore trickier concepts such as async JavaScript, scope, hoisting, and closures, before finishing two projects. Finally, you will build a small app called “Leaving so Soon” to woo visitors with an offer when trying to leave the website and a fully functional JavaScript image carousel.

By the end of the course, you will understand the concepts of JavaScript programming and advanced concepts like Async JavaScript, scope, hoisting, and closure. You can apply the concepts in project samples from a real-world scenario to understand JavaScript programming. You will be able to create apps and games using JavaScript programming.

What You Will Learn

  • Learn the basics of arrays, functions, objects, events, and the DOM
  • Understand the concepts of using loops and conditional statements
  • Know about objects, math, date, timers, and drawing on canvas
  • Explore complex Async JavaScript, scope, hoisting, and closure
  • Build a working video player with fully customized controls
  • Create an app called “Leaving so soon” to woo visitors with an offer

Audience

This beginner-focused course targets AI developers, web content developers, and front-end interface developers working on other platforms wanting to learn JavaScript programming. The course is aimed at those new to JavaScript or having little knowledge about JavaScript and looking for an extensive course to advance to the intermediate/advanced levels. To optimize the course, you do not require any knowledge of JavaScript; however, prior knowledge of HTML and CSS is desirable.

About The Author

Chris Dixon: Chris Dixon is a self-employed web developer teaching others through training courses. Chris offers freelance web development and training workshops on various topics, including HTML, CSS, JavaScript, Vue.js, NUXT.js, WordPress (custom theme development), Mongo/Mongoose, PostgreSQL, Express, Firebase, and Supabase. Chris is also involved in building Shopify ecommerce solutions, including custom apps and theme development. Chris has vast experience in GraphQL, Keystone CMS, and many other front-end/full-stack skills. He is additionally a regular Shopify user in creating and managing online stores and editing/creating custom liquid templates.

Table of contents

  1. Chapter 1 : Introductions
    1. Introduction
    2. Let's See What JavaScript Can Do
    3. Download Starter Files
  2. Chapter 2 : JavaScript Basics
    1. Where to Add JavaScript
    2. Async and Defer
    3. Working with Strings
    4. Storing Data with Variables
    5. Mixing Strings with Variables
    6. Datatypes: Numbers
    7. Datatypes: Boolean, Null, and Undefined
    8. Comments: Semicolons and ASI
    9. Operators: Assignment and Comparison
    10. Operators: Logical and Arithmetic
    11. Introduction to Arrays and Object Types
    12. Introduction to Objects
    13. Introduction to Functions
  3. Chapter 3 : Arrays in More Depth
    1. The Array Constructor
    2. Introduction to Properties, Methods, and the Prototype
    3. Modifying Arrays
    4. Returning New Values
    5. Iteration Methods
    6. Reducers
    7. Map and forEach
    8. Array Destructing
    9. Operators: Unique Values with Set
    10. Two-Dimensional Arrays
  4. Chapter 4 : Functions
    1. The Global Object and Built-In Functions
    2. Function Expressions
    3. Immediately Invoked Function Expressions
    4. Anonymous or Named
    5. A Function or Method
    6. Arrow Functions
    7. Default Parameter Values and Using Rest
  5. Chapter 5 : Events and the DOM
    1. What Is the DOM?
    2. Selecting Elements
    3. Changing Values and Attributes
    4. Changing an Element's CSS
    5. Creating New Elements
    6. Adding Elements to the Page
    7. Cloning and Removing Elements
    8. Mini Challenge: Create a New Section
    9. Looping with DOM Elements
    10. Introduction to Events
    11. Listening to Events
    12. Listening to Multiple Events and Event Data
    13. Event Propagation
    14. Running Events Once
    15. Preventing Default Behavior and the Passive Option
    16. Removing Event Listeners
    17. HTML Collection or NodeList?
    18. Mini Challenge: Create a Dark Mode button
  6. Chapter 6 : Time to Practice
    1. Video Player Project: Creating the UI
    2. Events, Properties, and Methods
    3. Shape-Drop Game - Creating the UI
    4. Shape-Drop Game - Drag and Drop Events
    5. Shape-Drop Game - Handling the Score and End of Game
  7. Chapter 7 : Loops and Conditionals
    1. For Loops
    2. For-in and For-of Loops
    3. While Loops
    4. if/else Statements
    5. else/if Statements
    6. The Switch Statement
    7. The Conditional Operator (Ternary)
    8. Type Coercion and Conversion
    9. Truthy and Falsey
    10. Optional Chaining
  8. Chapter 8 : Objects in More Depth
    1. Creating and Modifying New Objects
    2. Object Constructor Functions
    3. Object Prototypes
    4. Inheriting Object Properties
    5. Copying Object Properties
    6. CSS Style Objects
    7. Looping with Objects
    8. Dynamic Objects
    9. Primitive and Reference Types
    10. Comparing Objects
  9. Chapter 9 : Speedy Chef Project
    1. Speedy Chef Project Introduction
    2. Listing Orders
    3. Listing Orders Refractor
    4. Element Helper Function
    5. Selecting the Current Order
    6. Set the Current Pizza
    7. Split and Join Methods
    8. Adding Pizzas to the Oven
    9. Starting and Ending the Game
  10. Chapter 10 : Math, Date, and Timers
    1. Introduction to JavaScript Math
    2. Generating New Pizzas and Orders with Math
    3. setInterval()
    4. setTimeout()
    5. Clearing Timers
    6. Introduction to JavaScript Date
    7. Setting the Cooking Time with Date
  11. Chapter 11 : Drawing with JavaScript
    1. Introduction to the Canvas and Coordinates
    2. Setting Up the ingredients
    3. Drawing Circular Ingredients
    4. Drawing Multiple Pieces
    5. Clearing the Canvas
  12. Chapter 12 : Finishing Touches
    1. Wasting Pizzas
    2. Checking Steps
    3. Completing Orders
    4. Removing Orders from the Array
    5. Updating the UI and Stats
  13. Chapter 13 : Scope Hoisting Closures
    1. Introduction to Scope
    2. Nesting Scope
    3. Block and Function Scope
    4. Hoisting
    5. Temporal Dead Zone
    6. Closures
  14. Chapter 14 : Async JavaScript
    1. A Little Bit of Background
    2. Callbacks
    3. Promises
    4. The Promise Constructor
    5. Handling Multiple Promises
    6. Async/Await
    7. Handling Multiple Awaits
    8. Error Handling
  15. Chapter 15 : More Practice
    1. Leaving So Soon Project
    2. Image Carousel: Setting the Images
    3. Image Carousel: Creating the Arrows
    4. Image Carousel: Reordering the Images

Product information

  • Title: Modern JavaScript For Beginners
  • Author(s): Chris Dixon
  • Release date: October 2022
  • Publisher(s): Packt Publishing
  • ISBN: 9781804618097