
If you are using Windows I recommend you to install either Cmder application or git bash
Launch Node.js, verify node and npm versions, run JavaScript in Node.js to log 'Hello from Node.js', then explore index.js execution and prepare for Git-based repository exercises.
Master git concepts by reverting to the initial commit with git checkout, exploring detached head, and managing branches like master and Branch1 through commits, logs, and branch switching.
Learn to manage git repositories with sourcetree, connect to GitHub or BitBucket, and work with local and remote branches through fetch, checkout, and prune.
Create your first HTML file with Emmet and view it locally by enabling Go Live in Visual Studio Code using Live Server at localhost:5500.
Create a separate JavaScript file, reference it from index.html using a script src attribute, and see the console log 'Hello from external JavaScript file' appear as the external file runs.
Create and load an external script other.js alongside index.js, using script tags with proper relative paths and ordering to ensure sequential console messages appear in the browser.
Learn to run JavaScript directly in the browser console using console.log and alert, explore function calls, arguments, and the idea that almost everything is an object.
Explore primitive value types in javascript, including strings, numbers, booleans, null, undefined, and symbols. Practice in the browser console with string literals, numbers including infinity and NaN, and template literals.
Declare and reuse variables in JavaScript by creating x and y, building myObject with a and b, then define anotherObject with newA, b, and c to illustrate dynamic typing.
Explore dynamic typing in JavaScript by declaring variables with let, var, or const. See how types change at runtime among undefined, number, boolean, and object, including null-related errors.
Explore how JavaScript treats almost everything as an object, a collection of name-value pairs, and how objects are created with object literals and have properties.
Explore how to access, add, modify, and delete object properties using dot and bracket notation, including nested objects like my city and its info.
Practice with objects in JavaScript to see that they are reference types. Copying an object shares memory and dot or bracket notation reveals property access and dynamic names.
Explore global objects in browsers and Node.js by examining window and global. Learn how their properties and nested objects like console expose methods such as console.log via dot notation.
Learn how functions in JavaScript act as reusable blocks of code with parameters, including function declarations, anonymous functions, callbacks, and object methods.
Learn that functions are objects, master function declaration syntax, pass parameters and arguments, use return to output values, and grasp function scope and calls in JavaScript.
Explore function scope, parameter visibility, and reuse of names across functions, then master return behavior and how return stops execution in JavaScript.
Explore practical function challenges in the JavaScript bootcamp: implement mount to multiply three parameters and print results to the console, practice const usage, and learn string concatenation with return values.
Declare outer function with two parameters, nest inner function that returns the square of its input, sum the two parameters, and log the inner function result.
Explore the difference between function declarations and anonymous function expressions, including usage as standalone functions, variables, and as callback arguments in JavaScript.
Practice function expressions and the built-in functions set timeout, set interval, and clear interval to print five sequential console messages, with no further messages after the fifth.
Implement a two-second interval to log numbered messages using a function expression, capture the interval handle, and stop it after ten seconds with clearInterval inside a setTimeout.
Explore unary and binary operators in JavaScript, learn about arithmetic, logical, and comparison groups, and compare infix, prefix, and postfix notations, precedence, and associativity.
Explore how JavaScript operators act as built-in functions, grouped into arithmetic, logical, and assignment operators; see the comma and plus operators and how precedence affects results and return values.
Master arithmetic operators in JavaScript, including operands, prefix/infix/postfix notation, and operator precedence and associativity, with hands-on practice using plus, minus, multiply, divide, and string concatenation.
Explore comparison operators in JavaScript, including less than, greater than, and their equal and inequality forms, and learn how strings compare lexically and how equality differs from strict equality.
Learn the logical or operator in JavaScript, its short-circuit evaluation, and how falsy values like empty strings, zero, null, undefined, NaN, and false influence defaults like city or default city.
Test your understanding of JavaScript operators by applying precedence and associativity, using unary plus for number conversion, and calculating remainders with console outputs.
Master how JavaScript logical operators evaluate with precedence and associativity, how short-circuit operators stop at the first true or false value, and how plus equal and other assignment operators behave.
Learn the distinction between expressions and statements in JavaScript, including expression statements, assignment expressions, and the roles of lvalue and rvalue, with examples of side effects.
Clarify the distinction between expressions and statements in JavaScript, explain how semicolons create expression statements, and compare if, for, and function calls.
Explore the life cycles of global and function-scoped variables with let, tracing how B and A differ across scopes, and introducing scope chain, pure functions, undeclared variables, and strict mode.
Explore global and function scope in JavaScript, showing how var becomes a window property while let and const stay non-global; examine parameters, local scope, and the scope chain.
Explore function scope and global scope in JavaScript through tasks about A, B, and D, then analyze strict mode and setTimeout callbacks to reinforce scope concepts.
This course covers everything you need to know about JavaScript and become either Frontend Web developer, or Full-stack Web Developer, or Backend developer.
This course includes more than 70 CHALLENGES and all exercise files are available in Git repositories.
We will start from the very beginning and you will learn fundamentals and basic concepts of JavaScript.
Than you will learn new features included in ES6, ES7 etc.
Also we will dive into the Node.js - environment for JavaScript code execution and you will understand what is the difference between Web Browser and Node.js.
In separate sections we will discuss Babel, NPM, Webpack and MongoDB.
Also you will learn most popular JavaScript framework - React.
JavaScript Bible was designed for developers with different levels of JavaScript knowledge.
If you are BEGINNER in JavaScript - start with very first section called JavaScript Basics.
In case you have SOME experience with JavaScript - jump directly in the sections where I cover ES6 topics such as rest/spread parameters, arrow functions, ES6 Classes etc.
If you are experienced MIDDLE or SENIOR developer with years of JavaScript development background - jump directly into the Challenges and test your knowledge. Each challenge has task and solution in separate Git branches.
All videos have different labels:
LECTURE: in those videos I explain different features and concepts of the language. Main main goal in those videos is to teach you HOW specific feature work under the hood. I don't teach HOW TO USE feature.
Instead I teach you WHY and HOW specific feature works.
PRACTICE: here I will dive into the coding and show you different real-world examples of the usage of specific feature. Usually I will present to you several examples for each specific feature. I strongly recommend you to follow me in those videos and code along with me.
CHALLENGE: each challenge (except simple and short challenges) has START and FINISH branches with task and solution. PLEASE don't skip challenges even if you are already familiar with the topic. Try to solve each challenge yourself.
DEMO: in some videos I will demonstrate you examples where you don't necessarily need to follow me and code along with me
If you want to become an Expert in JavaScript, please join this course now!
See you onboard!