
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Trace the evolution of javascript from netscape origins and name changes to ECMAScript standardization, outlining early browser competition and the emergence of standardized syntax.
Set up your JavaScript toolkit by using a browser console and the Sublime Text editor to write and run code, with an online editor like repl.it for quick testing.
Learn how to declare variables with var, assign values using =, and mutate them; understand case sensitivity, and that undefined appears if you don't initialize.
Explore how JavaScript divides data types into primitive and complex types; ES6 defines six primitive types, with objects as the complex type.
Understand how the typeof operator returns 'undefined' for uninitialized or undeclared variables, and why you should not set a variable to undefined; use another data type instead.
Explore how undefined and null behave in JavaScript by declaring variables, assigning null, and performing simple operations to illustrate when a value is missing.
Learn how strings represent text with single or double quotes, access characters by index, measure length, combine with plus, and escape with backslashes for special characters.
Explore how the JavaScript boolean data type uses true and false, including case sensitivity, truthy and falsy values, empty strings, and undefined handling.
Explore how JavaScript represents numbers, including integers and floating point values, and how decimals determine a float. Learn scientific notation, number limits, and the NaN and isNaN checks.
Learn about the four arithmetic operators in JavaScript: addition, subtraction, multiplication, and division, including how addition concatenates strings and coerces booleans, and how subtraction and modulo yield NaN or remainders.
Explore assignment operators in JavaScript, using the equals sign for assignment, and shorthand forms like plus equals, with examples for addition, multiplication, division, and modulo.
Explore unary operators in JavaScript: increment and decrement with postfix and prefix forms, and unary plus and minus for converting strings and booleans to numbers.
Understand equality operators in JavaScript: use == for value-only comparison with type coercion, === for strict value and type equality, and != and !== for inequality checks.
Master JavaScript relational operators, returning boolean results for greater than, less than, and their equal variants. Learn string comparisons use character codes to determine order and case sensitivity.
Explore how the JavaScript logical operators &&, ||, and ! work and apply short-circuit evaluation to determine which operands run. Note how non-empty strings influence results, illustrating truthiness beyond booleans.
Explore how the comma operator combines multiple operations in one statement, enables concise variable declarations, and clarifies the difference between statements and expressions.
Learn operator precedence and evaluation order in JavaScript expressions, including how multiplication precedes addition, how parentheses override rules, and how division and remainder are evaluated left to right.
Explore JavaScript control flow statements, including switch blocks and try and catch, as instructions executed by your application, and understand various statement types.
Learn if statements in javascript by evaluating conditions to boolean, using else and else-if blocks, and always using braces for multi-statement blocks.
Explore switch statements in JavaScript, using case, default, and break to evaluate expressions, handle multiple conditions, and refactor code for cleaner, multi case logic.
Explains how block statements group multiple statements in JavaScript using braces, covers if else and loops, and shows why braces are preferred to avoid errors.
Learn how the throw statement creates custom exceptions, uses numeric error codes like 500, and terminates the program, while try blocks manage error handling.
Explore try, catch, and finally blocks to handle errors, test conditions, and guarantee code runs after errors, with practical input validation and error logging examples.
Define and use JavaScript functions as blocks of code that execute when invoked, pass arguments, return values, and manage scope to avoid repeating logic.
Learn how the return statement stops a function and yields a value; without return, a function returns undefined, while a return returns expressions such as 2 times 2 equals 4.
Clarify the distinction between parameters, the names in a function definition, and arguments, the values passed when the function is invoked.
Explore the difference between named and anonymous functions, and explain why anonymous functions require assignment to a variable to be called later in JavaScript.
Learn how function declarations are hoisted and callable before their definition, while function expressions are anonymous and require prior declaration.
Explore immediately invoked function expressions (IIFE) and how they execute upon definition. Inspect how parentheses, function invocation, and assignments affect when a function runs.
Explore objects as containers of key-value pairs, where properties hold values such as name, color, and year, demonstrated by a car object with Mustang, red, and 2015.
Explore two ways to create object instances: using the new operator with the object constructor, and using object literal notation, both yielding an empty object.
Explore how to create objects in javascript using literals and the new operator, compare dot and bracket notation, and define properties with various data types.
Learn to access object properties with bracket and dot notation. Bracket notation handles spaces, special characters, variables, and computed expressions; dot notation covers simple keys.
Explore object methods in JavaScript by defining actions as object properties, invoking them with dot or bracket notation, and updating object state through interacting methods.
Learn how to use the delete operator to remove properties from objects, using dot and bracket notation, and understand when deletion returns true or false.
Explore JavaScript arrays: literal notation with square brackets, zero-based indexing, length property, and delete operations; see how undefined gaps arise and push and pop mutate.
Create date objects with the new operator to represent moments or strings when omitted, then use now to measure elapsed time and convert milliseconds to seconds and minutes.
Discover how JavaScript functions are first-class objects with properties and methods, and learn how the arguments object captures all arguments passed to a function, including those not declared.
Discover how constructor functions in JavaScript create specific object types, use this to assign properties, and return new instances that can be repeated to generate many cars.
Learn how the while loop evaluates the condition before executing the code block, increments i from 0 to 9, and stops when false to avoid infinite loops.
Explain how the do..while statement in JavaScript executes the loop body first, then tests the condition, ensuring the block runs at least once even if the condition is false.
Master the for loop in JavaScript, including variable initialization, a pretest condition, and post-loop increments, plus logging array items and using break to exit.
Master the for..in statement to iterate over object properties in JavaScript, understanding that property order is not guaranteed and may vary by browser.
Explore JavaScript arrays and push method to add an item to the end of an array and return the updated length, illustrated with a people array.
Learn how the pop method removes the last element from an array and returns it, the opposite of push. See this in a names array as the list updates.
Explain that the array.shift method removes the first item and returns it, illustrated by removing John from the front of an array.
Unshift adds a new item to the beginning of an array, serving as the opposite of shift right, and demonstrates how to prepend elements in JavaScript.
Learn how the array.reverse method reverses the order of elements in an array, turning the first element into the last, with examples like Mark, Mary, Ann, and Leon.
Learn how to use Array.isArray to test whether a value is an array, with examples showing true for arrays and false for objects, null, undefined, numbers, strings, and booleans.
Learn how array.slice returns a new subset of elements from a starting index to an end index without mutating the original array, with practical examples.
Learn how the array.concat method joins two or more arrays by returning a new array, without mutating the originals, and preserves the order of elements.
Explore the slice method, which extracts part of a string into another string using zero-based start and end indices, as shown with 'Hello folks'. Strings are not mutable in JavaScript.
Learn how the substring method extracts parts of a string, using start and end positions, with examples showing its similarity to slice and how to invoke it.
Learn how the string split method divides a string into substrings by a separator, producing a new array of results. If no separator is given, it splits into characters.
Learn how string.indexOf finds the first occurrence of a value in a string and returns -1 when it isn't present, with case sensitivity demonstrated on examples like 'e' and 'z'.
Use the concat method to join two or more strings, producing a new string since strings are immutable. See examples combining a message with a name, like John Razaq.
Demonstrates converting a string to uppercase and lowercase using toUpperCase and toLowerCase in JavaScript, with a name example.
Learn how to convert Unicode values to characters using String.fromCharCode. Look up Unicode values in a Unicode table, then pass the value to String.fromCharCode to obtain the corresponding character.
Use the string.charCodeAt method to get a character's Unicode value by its index in a string. The examples show uppercase J and lowercase a, with 'a' = 97.
Understand how string.charAt returns the character at a specified index in a string using zero-based indexing. See examples where index 0 returns 'J' and index 9 yields a lowercase 'd'.
Learn to use Object.keys to retrieve an object's property names, and see how arrays are objects with index properties like 0, 1, and 2.
Use hasOwnProperty to determine if an object contains a specific property, returning a boolean; for example, checking name yields true, while lastName yields false.
Explore the Number.isNaN method to determine if a value is NaN or not, and observe how inputs like objects, strings, booleans, and null behave under evaluation.
Use Number.parseFloat to convert string values to numbers, including decimals. See examples like Number.parseFloat('10.4') and Number.parseFloat('5') to understand how it handles decimal points.
Number.parseInt converts a string to an integer, discarding the decimal part, as in 10.4 becoming 10; it can use different bases via a radix, e.g., binary.
Learn how to generate a random number between 0 and 1 using the Math.random method, with practical examples and common implementation ranges.
Learn how the min and max methods identify the lowest and highest values from a list of arguments, and apply these concepts in JavaScript data handling.
Learn how to round numbers to the nearest integer using Math.round, with examples like 2.12, 2.5, and 2.6.
Explore Math.ceil, the JavaScript function that rounds a number up to the nearest integer, with examples like 2.1 becoming 3 and handling negative inputs.
Learn how the Math.floor function in JavaScript rounds numbers down to the nearest integer, illustrated with examples like floor(3.1233) = 3 and floor(-4) = -4.
Learn how Math.sqrt computes the square root of a number in JavaScript, and how it handles negative inputs, returning not a number.
Learn how to compute exponents with the power method using Math.pow, exploring how changing the exponent affects results like three raised to three and other values.
Explore how Math.abs computes the absolute value of numbers in JavaScript, with examples like abs(5) returning 5 and abs(5.4) returning 5.4.
Master date methods in JavaScript with new Date(), get day, get weekday, get hours, minutes, seconds, and getTime; compute milliseconds since 1970 and format login elapsed time.
Explore the concept of scope in JavaScript as a set of variables, highlight the global scope as the main accessible area, and illustrate lexical scopes with an example.
Explore lexical scope in JavaScript, comparing global and function scopes, understanding which variables are accessible, and note that blocks like objects and else blocks do not create new scopes.
Explore how this keyword binds to the global object in free function invocations and to the left of the dot in method calls, with call, apply, and constructor patterns.
Explore how prototypes drive inheritance in javascript, tracing the prototype chain from Object to built-in types. See how custom methods defined on an object stay accessible only to that object.
Explore how the __proto__ and prototype properties enable object inheritance, showing how prototypes supply methods and properties like color, with banana acting as a prototype for fruit.
Explore how the prototype chain lets objects share properties and methods, perform automatic property lookups, and use this with hasOwnProperty to inspect object facts like age and gender.
Explore how constructor functions imitate classes in ECMAScript 5 and how moving methods to the prototype reduces memory usage and enables shared behavior across instances.
Are you looking for becoming a professional web developer and learn the necessary skills to get a highly paying job as a Javascript engineer, but you don’t have anything to start with?
In 2020 will have over 1.4 million jobs available with salaries reaching the mark of 6 figures year for professional developers. It's a unique opportunity for those who are looking for starting a new career.
In this course you will learn how to program applications and how to think as a professional software engineer in few weeks.
This is the most complete Javascript course on Udemy. This course was designed to teach you how to become a Javascript Engineer from zero skills.
Learn step-by-step from the basic to advanced topics of Javascript. It's a highly interactive course with several videos, hundred of exercises and code challenges to test your skills.
In the first section of the course you will learn about the history of Javascript and setting up the tools you need to follow the program. The following sections you will dive deep into basic and important concepts of Javascript like data types, operators, statements, functions, arrays, objects and you will take several exercises to test your knowledge. By the middle of the course you will learn several important methods and start with more advanced topics like scopes and prototypes. In the last half of this program you will dive into advanced techniques, develop couple applications, fix bugs and take several challenges.
You need more than a regular programming language course to become a software engineer. Acquiring the right mindset is not a trivial task and requires a lot of time, discipline and investment. I've being working for five years with web technologies and developing web applications.
To create this course I've studied in one of best programming schools in the world, Hack Reactor, and researched through the best materials available now a days. The professional experience combined with thousand hours of studying and research, allowed me to design a curriculum that helps students with no previous experience in programming to be able to master Javascript and acquire the necessary mindset of a professional software developer.
This is an evolving course and I will constantly update it with new sections and topics. YES, buying this course you will get much more than you are paying for.
Are you ready to become a Javascript engineer?