
Explore JavaScript as a high-level, lightweight, loosely typed, concurrent non-blocking, and interpreted language with prototypal inheritance, first-class functions, an event loop, and multiple programming paradigms.
Demonstrate that Javascript is a high level language by contrasting it with low level languages and showing a Fibonacci sequence example readable by humans and machines.
JavaScript is interpreted code, executing immediately after parsing, unlike compiled code that creates binary files; the lecture demonstrates console.log printing Hello World without intermediate compiled files.
JavaScript is light in weight, relying on APIs to interact with HTML and perform server requests, while browsers render pages via DOM, render tree, layout, and paint.
Explore how JavaScript is loosely typed, letting a variable change its data type dynamically as values are assigned, unlike C or Java that require a declared type.
Explore how JavaScript supports multiple programming paradigms, including imperative and declarative styles, with functional, prototype-based object-oriented, and event-based approaches.
Explore how the var keyword declares variables in JavaScript, including syntax and default undefined initialization. Learn rules for valid names, case sensitivity, and declaring multiple variables with a single var.
Learn how to declare variables with the let keyword, follow naming rules, avoid redeclaration, and compare let with var within the lexical environment.
Learn about JavaScript data types, including boolean, number, undefined, string, and symbol, and how objects are collections that can contain functions or other objects.
Explore the number data type by showing how variables like x, y, and z express binary values 0 or 1 and decimal numbers.
Explore the string data type in JavaScript, learn how to declare strings with double or single quotes, and see why double quotes are preferred.
Explore the boolean data type in JavaScript, revealing its two values, true and false, and how logical expressions determine truth in simple examples.
Explore the undefined data type in JavaScript, how variables may be undefined by default, and why some variables return undefined.
Understand the null data type, which represents a single value. See one example that illustrates its use in JavaScript.
Explore what an operator is, how it performs an operation and returns a value, and review JavaScript operators such as arithmetic operators, comparison, logical, assignment, grouping operator, and comma operator.
Explore JavaScript arithmetic and unary operators, including addition, subtraction, division, multiplication, remainder, and exponentiation, plus increment, decrement, and unary plus/minus, with string and number interactions.
Explore JavaScript comparison operators, including loose and strict equality and inequality, and understand how values of different types are coerced during comparisons.
Learn how bitwise operators work in JavaScript by performing operations on binary numbers, using not, left shift, right shift, and unsigned right shift, with notes on 32-bit conversion.
Learn how JavaScript uses logical operators to evaluate expressions and yield boolean values. Explore and, or, not, plus short-circuit evaluation with values that become false, like zero and undefined.
Explore JavaScript assignment operators, including +=, -=, *=, /=, <<=, >>>=, and **=, with left-hand updates, string concatenation, and errors when the left side isn’t a variable.
Explore the comma operator, which executes multiple expressions in a line; the last expression determines the result, used in object and function statements, loops, and multiple variables.
Master the grouping operator in JavaScript and how it governs expression evaluation. See how parentheses grant it the highest precedence and cause expressions to execute first.
Master how operator precedence shapes JavaScript expressions, including exponentiation's right-to-left associativity and the precedence of multiplication over addition. See how expressions resolve step by step.
Explore the typeof operator to determine a value's type, such as string or number, and compare operands versus expressions for clearer type handling in JavaScript.
Explore how JavaScript's ternary operator uses a condition to choose between expressions and master its question-mark syntax for concise conditional logic.
Learn how conditional statements in JavaScript execute a block of code when a condition is met, and explore the role of the conditional operator.
Discover how the if else statement in JavaScript evaluates a condition and runs the corresponding code block or its else block with simple examples.
Learn how if, else if statements evaluate conditions and execute the corresponding blocks, using multiple blocks to control which code runs based on true or false conditions.
Learn how the break statement terminates the currently executing loop or switch on a label and transfers control to the next step, with its syntax.
Identify and use the empty statement in JavaScript to satisfy syntax without executable code, and understand how empty blocks can affect if statements and cause unexpected results.
Explore the switch statement, which takes a single parameter (a variable or expression), checks values with each case, and executes the matching statements.
Explore how to use the switch statement in javascript, define cases with break and default, and observe fall-through behavior while printing results to the console.
Introduce loops by showing how a specific condition triggers repeated actions when the condition is satisfied.
Explore how a while loop uses a flow condition to execute statements, including post-increment behavior, and why infinite loops and noop statements disrupt programs.
For loops in JavaScript, mastering initialization, condition, and increment expressions, and observe iteration, post-increment behavior, and break usage.
Explore how nested for loops work by examining outer and inner loops, post-increment behavior, and how break statements control execution.
Explore how a JavaScript function defines a block of code with a name, enables repeated execution by calls, passes data via parameters, and returns values using standard syntax.
Learn how to call a function by its name followed by open and close parentheses, optionally passing arguments, and understand the basic syntax.
Explore how the return statement acts as the last executed statement in a function, optionally returning an expression, and learn its syntax.
Explore JavaScript function basics, including declaring and invoking functions, using console.log, returning values, passing arguments, and understanding scope and execution order.
Explore key properties of a JavaScript function, including the name property, the argument property, the function block, and the this keyword, and learn how it can return a value.
Explain the arguments property of functions in JavaScript, an array that holds all arguments passed into a function, with examples showing how to print and access individual arguments.
Do you want to learn the very popular programming language that powers the internet?
Are you tired of wasting your time and money on random youtube videos or JavaScript courses that are either too simple, or too difficult to follow?
Or are you struggling to deeply understand and apply JavaScript to real projects?
If your answer is a big YES... Then this is exactly the course you are looking for!
...
So what is the course about?
This is a truly complete JavaScript course, that goes beyond what other JavaScript courses out there teach you.
I will take you from a complete JavaScript beginner to an advanced developer.
Come with me on a journey with the goal of truly understanding the JavaScript language. And I explain everything on the way with great detail!
You will learn "why" something works in JavaScript, not just "how". Because in the modern JavaScript world of today, you need more than just knowing how something works. You need to debug code, you need to understand code, you need to be able to think about code.
This course is different because it's not just about writing code, it's also about how and why code works the way it does. Because it's the perfect mix between theory and practice. Because it focuses on small coding examples that lets you understand complex topics very easily.
So, by the end of the course, you will be a capable JavaScript developer, able to write, understand and debug JavaScript code using all the powerful features the language offers to us.
...
Here is exactly what we cover in this course:
• All the JavaScript and programming fundamentals: things like variables, data types, boolean logic, if/else statements, loops, functions, objects, arrays, and more.
• Everything you need to know in order to gain a deep understanding of how JavaScript works behind the scenes: execution contexts, hoisting, scoping, the 'this' keyword, and more.
• Complex JavaScript features such as function constructors, prototypal inheritance, first-class functions, closures, the bind and apply methods, and more.
• Learn how to organize and structure your code using modules and functions, how to create data privacy and encapsulation, and why that's so important.
• What's new in the most modern version of JavaScript: new features of ES6 / ES2015.
• Asynchronous JavaScript: the event loop, promises and async/await.
...
Let's now find out if this course is for you. It's a perfect fit if...
Student #1: You want to gain a deep understanding of the most popular programming language in the world: JavaScript.
Student #2: You have taken other JavaScript courses but: 1) still don't really understand JavaScript, or 2) still don't feel confident to code real-world apps. This course is perfect for you!
Student #3: You want to get started with programming in general: JavaScript is a great language to learn how to code.
...
Now it's your turn to decide. This is what you get:
• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.
• English closed captions auto-generated by Udemy.
• Free helpful support in the course Q&A when you have questions or get stuck.
Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only JavaScript course that you will need!