
Discover why JavaScript is a safe bet as a first language and a path to earning money. Leverage abundant online resources and client-side power in the browser.
Set up your JavaScript working environment by using the browser console for quick tests and by loading code from index.js via a script tag in index.html.
Choose Visual Studio Code as your JavaScript editor, a free, cross-platform tool with code highlighting and optional plugins that’s easy to start and widely recommended.
Learn how to store and reuse numbers in JavaScript with let and const, update values, and compute a sum across variables.
Choose meaningful variable names, such as age for a user's age, and use camel case for multi word names, avoiding underscores and special symbols for readability.
Explore JavaScript data types including strings, numbers, booleans, null, and undefined, with practical examples of variables and console logging to build solid foundational coding skills.
Learn how to define and call arrow functions using const, parameters, and return values. See how to log results with console.log and reuse code to avoid repetition.
Explore arrow functions versus the function keyword in JavaScript, with const-based examples and call patterns like getuser and getpost, and learn to prefer arrow functions for fewer issues.
Explore JavaScript conditional logic with if and else, using booleans, truthy and falsy values, console outputs, comparisons like <, and else if chains to control code execution.
practice with if-else in JavaScript by creating an age-based console log that handles under 20, over 80, and 20 to 80, then refactor into a get age message function.
Explore the JavaScript ternary operator as a compact alternative to if-else, learn how to assign a message based on a condition using const and return values in a single line.
Practice building a ternary expression to assign an admin or user role based on a username using triple equals and an or operator, and print the result to the console.
Explore switch case as an alternative to ifelse by mapping a day variable to cases like Monday and Tuesday, using break and default inside a show day function.
Explore how the triple equals operator enforces strict type and value equality in conditions. See why double equals confuses values, and master negation for booleans, strings, and numbers.
Learn how common if-condition pitfalls arise in JavaScript, including truthy and falsy evaluation, using equals for strings and numbers, and writing bulletproof checks for undefined or empty values.
Learn to create and manipulate a JavaScript user object with name, role and age, using dot notation, and build a function that logs give access for admin.
Learn how to use JavaScript arrays to store multiple values, access elements by zero-based indices, and modify them with push and splice, including arrays of objects like users and posts.
Handle errors in JavaScript by validating get full name inputs and throwing new Error when parameters are missing, and illustrate role validation with proper string quoting.
Learn how the for loop initializes i, checks i < 5, and increments i, then uses it to fill an array and create objects with id and name.
Learn how the while loop compares to the for loop, control iterations with a counter i less than ten, log values, and increment i to create a practical example.
Explore the do while loop in JavaScript, compare it to while and for loops, and see how it runs code before checking the condition.
Learn how to replace a traditional for loop with the array map method to extract names from an array of user objects, producing a new array with minimal code.
Build a user messages array from a list of users using a for loop, then refactor with map to produce greetings like 'Hello {name} with age {age}'.
Learn how to use the JavaScript array filter method to extract active users from an array of objects, replacing loops with a concise predicate that returns true for active users.
Understand global vs local scope in JavaScript, where global variables are accessible in the browser, while local function variables stay private; see how nested functions access outer and global variables.
Create and extend JavaScript classes by building an Article class with ID and title, a getTitle method, and a News subclass that adds a source with a getSource method.
Learn how to perform essential math in JavaScript using the Math object, including rounding (round, ceil, floor, trunc), absolute values, min/max, and random numbers, with practical examples.
Learn how to interact with the page using JavaScript by selecting DOM nodes with querySelector and querySelectorAll, updating content, manipulating attributes, creating elements, and handling click events.
Learn to read register form values from the dom with JavaScript, prevent default submission, and implement client-side validation by creating and removing error message spans near inputs.
Build a simple todo list by handling form submission, creating elements with markup, rendering items, clearing the input, and deleting items with a cross.
Explore JavaScript closures by building a private secret and a private counter, showing how a function retains access to its parent scope and exposes methods like getvalue and increment.
Set up a real front-end project with vite by installing node.js, creating a project with npm, and running a local server on localhost with automatic reload on save.
Learn to organize JavaScript with ECMAScript modules by splitting code into utils.js and constants.js, exporting with export const and export default, and importing files; modules are isolated and not global.
Implement a sidebar menu toggle by removing or adding the hidden class on click, using document.querySelector to locate elements and classList methods to toggle visibility.
Learn how setTimeout and setInterval schedule JavaScript code with delays in milliseconds, including zero delay behavior, and see practical uses such as animation and simulating API calls.
Explore how JavaScript handles asynchronous operations with callbacks, contrasting synchronous code, simulating long API calls with setTimeout, and delivering data via a callback to render results.
Learn how JavaScript promises replace callbacks to simplify asynchronous data handling with getdata, returning a new promise and using then, catch, and finally for success, errors, and cleanup.
Learn how async/await makes asynchronous JavaScript look synchronous, replacing nested promises with simple awaits, including getdata, and master error handling with try-catch.
Fetch data from an api in JavaScript by setting up a json server with db.json. Use fetch with async/await, then post records with headers and parse the json response.
Build an input and a button, then use fetch to post a new post to the API with the input title, validating non empty input and clearing after submission.
Debug network requests in JavaScript by inspecting fetch calls, using console.log, and checking the network tab for headers, payloads, responses, and status codes like 200 and 201.
Learn how local storage in JavaScript preserves data between page reloads using setItem and getItem, enabling persistent settings or game progress.
Master JavaScript destructuring to extract properties from a user object, simplifying assignments and function parameters with name, surname, and age.
Learn how value and reference assignments differ in JavaScript, showing primitives copy by value while objects reference memory, and embrace immutable patterns with spread, map, and filter.
Learn how strict equality compares arrays and objects in JavaScript and why they are never equal by value but by reference, with guidance on comparing specific properties instead.
Learn how to check data types in Javascript using typeof, array.isArray, and instanceof to differentiate strings, numbers, objects, arrays, and class instances.
Explore essential JavaScript array methods, including map, filter, find index, find, includes, join, split, and some and every to read, search, and transform arrays.
Use JSON.stringify to convert data to strings. Then use JSON.parse to reconstruct objects or arrays from those strings, enabling safe data transformation and comparison of stringified values.
Build a three-section accordion by wiring click listeners to each title to toggle content visibility with the hidden class, and update the plus/minus icon accordingly.
Explore converting values to boolean and numbers in JavaScript using Boolean and Number wrappers, the !! trick, and plus coercion, noting truthy and falsy values and not a number results.
Explore how the JavaScript reduce function acts as a functional alternative to a for loop, using an accumulator and an initial value to sum user ages from an array.
Sort arrays in JavaScript with the sort method using a comparator that returns negative, positive, or zero, mutating the original array. Sort by name or author last name using split.
Group items in JavaScript by using the groupby method to transform an array into an object keyed by type or quantity, without mutating the original.
Learn how to work with objects in JavaScript to manage todos, access by id, convert to arrays with Object.values, Object.keys, and Object.entries, and apply map, filter, and reduce.
Learn to build an analog clock in JavaScript by animating hour, minute, and second hands with setInterval and date-based rotations.
Learn the basics of working with dates in JavaScript, including creating date objects, accessing year, month, day, hour, and formatting with toLocaleString for user-friendly output across time zones.
learn how the spread and rest operators differ, create new arrays, pass arrays as function arguments, and compute sums with reduce for any number of parameters.
Build a weather application that communicates with the openweathermap api to fetch weather data and render temperature, humidity, wind, and icon. Use a Weather class to organize DOM references and fetch logic.
This course is the only course that you need in order to learn Javascript. Javascript programming needs a lot amount of knowledge, but the best way to prepare for it is a lot of practice! In this course you will learn everything that come from real Javascript projects on real examples. There are no excersises that nobody asks here. In every video you will learn something useful that you will write every day. We will take a deep dive into the skills, concepts, and techniques that are required to solve each problem.
When you have completed this course you will have mastered Javascript on a high level and you will also have learned the concepts, skills, and techniques, like working with DOM, working with API or writing business logic that are necessary for you to excel in Javascript programming. You will feel very confident working with Javascript in any project you will have. On top of all this, you will strengthen your programming skills and Javascript fundamentals in overall.
Core topics of the course:
Variables and data types
Loops and maps
Writing code with conditions
Transforming arrays and object
Working with API
Working with DOM
Solving practical tasks yourself
Building real projects