
Explore the fundamentals of programming in JavaScript and begin your journey toward becoming a skilled frontend developer.
Explore what JavaScript is and what you can build with it, from web apps to real-time tools, and where it runs in browsers or Node, plus ES6 and ECMA Script.
Set up your JavaScript development environment by installing Visual Studio Code and Node, creating a js-basics project folder, and launching a live server to view a Hello world page.
Place the script element at the end of the body to render content efficiently, then use console.log to print Hello World with strings, semicolons, and // comments.
Separate html content from behavior by moving JavaScript into a separate index.js file, reference it with the src attribute, and prepare for bundling in larger projects.
Install node from nodejs.org and run index.js in a terminal or the VS Code integrated terminal to execute JavaScript with the v8 engine as a runtime environment.
Explore variables as memory boxes that store data, declare with let in ES6, and read values with console.log. Learn naming rules, camel notation, and declaring variables on separate lines.
Learn why const should be the default for values that should not change, and when to use let for variables that may reassign, to avoid assignment to constant variable errors.
Learn primitive value types in JavaScript: strings, numbers, booleans, undefined, and null, with literals and value clearing concepts, plus a nod to symbols in ES6.
Explore dynamic typing in JavaScript, where variable types change at runtime, using the type of operator to inspect strings, numbers, booleans, undefined, null, and objects.
Explore objects, arrays, and functions as reference types in JavaScript, learning object literals, properties, and access with dot and bracket notation.
Discover how arrays store lists of items, access elements via indices, and observe dynamic typing and the length property in JavaScript.
Declare and call JavaScript functions using the function keyword, parameters, and a body. Explain parameters, arguments, and the undefined default value with greetings such as Hello World and Hello John.
Explore the basics of functions in JavaScript, including performing tasks, returning values, and parameters. Learn to call functions like square and console.log, with template literals later.
Explore arithmetic, assignment, comparison, logical, and bitwise operators in JavaScript, used with variables to create expressions that drive logic and algorithms.
Explore arithmetic operators in JavaScript, including addition, subtraction, multiplication, division, remainder, and exponentiation. Learn pre/post increment and decrement with x and y via console.log expressions.
Explore assignment operators in JavaScript basics, using simple assignment, incrementing x, and compound operators like += and *= to perform arithmetic efficiently.
JavaScript comparison operators, including relational operators (greater than, greater than or equal to, less than, less than or equal to) and equality operators (triple equals, not equals), with boolean results.
Compare the strict equality operator (===) with the loose equality operator (==). Strict equality requires identical type and value; loose equality coerces types before comparing, so prefer strict equality.
Master the ternary or conditional operator in JavaScript by deciding gold or silver customers based on points, with a simple points variable and console output.
Explore how JavaScript logical operators work with non booleans by examining truthy and falsey values, and apply short-circuiting to provide default color in an app.
Explore bitwise operators in JavaScript and learn how binary digits map to decimals. See how bitwise or and bitwise and enable simple access control with read, write, or execute permissions.
Learn how operator precedence governs JavaScript expressions, see why 2 + 3 x 4 equals 14, and use parentheses to override order for different results.
Practice swapping two variables, red and blue, using a temporary variable c, then log blue and red to the console to confirm the swap.
Master if and else in JavaScript by building hour-based greetings (good morning, good afternoon, good evening) using conditional statements, blocks, else if, comparison operators, and logical and.
Use switch and case to match a role variable against guest or moderator, with break and default managing flow, and compare with if and else.
Explore how for loops in JavaScript repeat actions using an initialExpression, a loop variable i, a condition, and an increment, demonstrated by printing Hello World five times.
Translate a for loop into a while loop to display odd numbers from 0 to 5, and learn about scope differences when declaring the loop variable externally.
Explore how do-while loops differ from while and for loops in JavaScript, showing that a do-while runs at least once and the condition is checked at the end.
Learn how infinite loops occur in JavaScript through while, do while, and for loops, why forgetting to increment leads to endless execution, and how to prevent browser crashes.
Learn how to use the for-in loop to iterate over object properties and array indices, access values with dot and bracket notation, and prepare for the ES6 for-of loop.
Learn how the ES6 for...of loop iterates over array elements, using a loop variable to access each item and log it to the console, in contrast to for...in properties.
Learn how break and continue control loop behavior in JavaScript using a while loop. Break exits a loop; continue jumps to the next iteration, though continue is often discouraged.
Write a max function for two numbers, compare a and b, and return the larger. Test with multiple cases and refactor using the conditional operator for a cleaner return.
Implement a JavaScript isLandscape function that returns true when width exceeds height using a conditional expression, and test with 800 by 600 (true) and width 300 (false).
Implement the fizzBuzz algorithm in a function that returns fizz, buzz, or fizzBuzz for numbers divisible by 3, 5, or both, otherwise returns the input.
implement a javascript checkSpeed function to enforce a 70 km/h speed limit, calculate points using math.floor for every 5 km over the limit, and suspend licenses after 12 points.
Write function show numbers that takes a limit, loops from 0 to it with for loop, and logs i with even or odd based on i % 2 === 0.
Learn to implement countTruthy to count truthy elements in an array with a for-of loop, and grasp truthy versus falsey values like undefined, null, empty string, and not a number.
Learn to extract string properties from an object using a for in loop, bracket notation, and typeof. Implement showProperties with a movie example showing title and director.
Create a sum function that returns the total of multiples of 3 and 5 up to a limit, using a for loop, modulo checks, and an explicit final return.
Calculate a student's grade from an array of marks by averaging and mapping the result to a letter grade using a clear range table. Refactor into single responsibility functions.
Demonstrate a nested for loop that prints a right triangle of stars based on a rows parameter, building a pattern in the inner loop and console.log each row.
Learn to implement showPrimes to display all primes up to a limit, using an isPrime helper and the single responsibility principle with early returns to keep code simple.
Define a circle object using object literal syntax to group related variables such as radius and location, with a draw method and dot notation access, illustrating object oriented programming.
Explore factory functions that produce circle objects with configurable radius and a single, centralized draw method to avoid code duplication. Then see how constructor functions compare.
Learn how constructor functions create objects in JavaScript using the new operator and this, using Pascal notation, and compare them with factory functions.
Discover the dynamic nature of JavaScript objects by adding or deleting properties and methods on a circle, and note that const prevents reassignment but not mutation.
Every object in JavaScript has a constructor property referencing function that created it, whether from an object literal or a factory function, with literals preferred for strings, booleans, and numbers.
Learn that in JavaScript, functions are objects with properties and methods like name, length, and constructor, and that call, apply, and bind control their this context.
Compare primitive value types and reference types in JavaScript, showing how primitives copy by value while objects copy by reference, leading to independent versus shared changes.
Explore enumerating properties of a circle object using for in and for of loops, access values with bracket notation, and use object.keys, object.entries, and the in operator to inspect properties.
Learn how to clone an object by copying its properties with a for...in loop, then compare object.assign and the spread operator for concise, reliable object cloning.
JavaScript automatically handles memory allocation and deallocation via a background garbage collector that identifies unused variables and frees memory, giving developers no control over when it runs.
Learn how to use the JavaScript Math object, explore Math.PI and its properties, and practice methods like random, round, max, and min to generate numbers and map ranges.
Explore the string primitive and string object in JavaScript, and learn core methods like length, includes, starts with, ends with, index of, replace, split, escape notation, and template literals.
Learn how template literals in JavaScript, using backticks, simplify multi-line strings, avoid escaping quotes, and interpolate dynamic values with placeholders like ${}, enabling clearer, output-like code.
Explore creating and manipulating JavaScript date objects using the date constructor, including 0-based months, get/set methods, and formatting with toDateString, toTimeString, and toISOString for client-server data.
Create an address object with street, city, and zipCode, then build a showAddress function that uses a for-in loop and bracket notation to log each property and its value.
Explore creating an address object with factory and constructor functions, passing street, city, and zipCode, and compare object creation using return values versus the this keyword.
Implement areEqual and areSame for address objects using the constructor, comparing properties and using strict equality to test reference identity.
Define a blog post object with title, body, author, views, comments, and isLive using object literal syntax; implement comments as objects and log the post.
Create a post constructor for a blogging engine post with title, body, and author. Initialize views to 0, comments to an empty array, and isLive to false.
Create a price range objects array with label, tooltip, minPerPerson, and maxPerPerson to filter restaurants by average per person, using inexpensive, moderate, and expensive ranges.
Learn to work with arrays and perform operations like adding, finding, removing, and splitting or combining elements to build essential JavaScript skills for beginners.
Modify a constant numbers array using push, unshift, and splice to add elements at the end, beginning, or middle. Learn zero-based indexing and inserting items like a and b.
Find elements in arrays using indexOf, lastIndexOf, and includes for primitives, with examples using numbers and strings. Understand how starting index and element type affect results.
Learn how reference types affect searching arrays by using find with a predicate on a course objects array to locate matching course (or undefined) and find index for its position.
Learn how to replace traditional functions with arrow functions in ES6, including single-parameter, no-parameter, and single-line forms, and pass them as callbacks to methods like find.
Remove elements from arrays using pop, shift, and splice to delete last, first, or middle items by index and count.
Discover four ways to empty a JavaScript array: reassign to a new array, set length to 0, use splice, or loop with pop. Consider references and performance for clean code.
Discover how to combine arrays using the spread operator in ES6, compare with concat, and copy arrays with spread, plus inserting elements between arrays for flexible results.
Learn how the ES6 spread operator combines two arrays more cleanly than concat, allows inserting elements between arrays, and copies arrays by spreading their elements.
Explore iterating arrays in JavaScript using for-of and forEach with callback and arrow functions, including optional index, and compare with for-in for indexing.
Explore joining arrays with the join method using an optional separator to create strings, and see how split and join help build a url slug with hyphens.
Learn to sort arrays using the sort method, including sorting objects by name with a comparator. Also use reverse to flip the order and handle case sensitivity with toUpperCase.
Use every and some to test array elements, returning a boolean; every checks all elements, while some stops at the first match, and these methods are new and sometimes unsupported.
Filter an array with a callback to create a new array of values that meet criteria, such as numbers greater than or equal to zero, using arrow functions for conciseness.
Learn how to use the map method to convert array elements into strings or objects, chain map and filter for clean, non mutating transformations, and render HTML lists.
Learn to sum an array of numbers using a loop and the reduce method, initialize an accumulator to 0, and return the total.
Create arrayFromRange(min, max) to generate numbers from min to max using a for loop that pushes values into an array and returns it, producing empty array when max < min.
Design and implement a custom includes function that checks whether a given element exists in an array using a for-of loop, returning true or false based on the search.
Implement the except function that iterates an array and uses the excluded array to filter out values, returning an output array of the remaining elements.
Clone the array with the spread operator, move an element using splice, and reinsert at index plus offset, while logging invalid offset with console.error.
Master a count occurrences function for arrays in JavaScript, starting with a simple loop and then using reduce with an accumulator to tally occurrences of a search element.
Implement the getMax function to return the largest number in an array, returning undefined for empty arrays, then refactor using reduce with an accumulator and current value.
Follow along as you declare a movies array and use filter, sort, reverse, and map to output 2018 movies with rating 4 and above, showing titles b and a.
Explore function declarations and function expressions in JavaScript, including how to declare with names or as anonymous, assign them to variables, and call them via references.
Discover how hoisting moves function declarations to the top, allowing calls before definition, while function expressions remain non-hoisted and trigger reference errors.
Learn how JavaScript uses the arguments object and a for...of loop to sum a varying number of arguments, while showing that missing or extra inputs do not error.
Discover how the rest operator collects a varying number of function arguments into an array, contrasts with the spread operator, and enables discount calculations in a shopping cart.
learn how to set default values for function parameters with ES6 in JavaScript, illustrated by a principle, rate, and years calculation for total interest.
Explore getters and setters in objects to read and update properties like full name efficiently. Use ES6 method shorthand and a setter to split values into first and last names.
Practice defensive programming by validating inputs with typeof, throwing and catching exceptions, and using try blocks to handle errors in JavaScript.
Explore how scope determines where variables and constants are accessible, focusing on block scope with let and const, function and global scope, and local precedence over globals.
Explore why the var keyword creates function-scoped variables and can attach to the global window object, contrast with let and const for block scope, and learn to avoid global variables.
Explore how this determines the context in JavaScript: in methods it references the object, in regular functions it references the global object, and constructors with new create new objects.
Learn three ways to change this in a function: use self, call/apply/bind, and arrow functions that inherit this.
Implement a function called some that sums a varying number of arguments using the rest operator and reduce. It also accepts an array by using array.isArray and flattens when needed.
Create a circle object with an adjustable radius and a read-only area property via a getter. The area reflects radius changes and resists external writes.
Learn to add error handling to an array-based function by validating input with Array.isArray, throwing an invalid array error, and wrapping code in a try-catch to log to the console.
WHAT IS JAVASCRIPT?
JavaScript is one of the most popular programming languages in the world, and growing faster than any other programming language. As a developer, you can use JavaScript to build web and mobile apps, real-time networking apps, command-line tools, and games.
4 REASONS TO LEARN JAVASCRIPT
A STEP-BY-STEP, BEGINNER-FRIENDLY COURSE
This course is your first step towards a new career in web or mobile development. Here is what you get when enroll in this course:
WHY THIS COURSE?
There are several JavaScript courses on Udemy. So, what makes this course different? Here are 5 reasons:
WHO IS THIS COURSE FOR?
NO PRIOR KNOWLEDGE NEEDED
You don't need familiarity with JavaScript to take this course. You'll learn everything from scratch, step-by-step. A very basic familiarity with HTML will be helpful but it is not required.
ARE YOU READY TO MAKE THE FIRST STEP TOWARDS BECOMING A WEB OR MOBILE DEVELOPER?
Stop wasting your time on disconnected tutorials or super long courses. Enroll in the course to get started. With a 30-day money-back guarantee, what do you have to lose?