JavaScript Foundations: The Language, Explained Properly
About this course
A complete, patient introduction to JavaScript for people who have never programmed. You will install Node, run your first program, and build up from variables and types to functions, arrays, objects, error handling and async/await — with the reasoning behind every rule, not just the syntax. The language's famous oddities are not skipped or hand-waved: you will learn exactly why 0.1 + 0.2 is not 0.3, why == and === differ, and why a callback runs after the line below it. Each idea starts with the problem it solves, so the rules stick instead of blurring into trivia. By the end you can read and write real JavaScript, debug it when it misbehaves, and you are ready for React Foundations.
What you'll learn
- Run JavaScript in the browser console and with Node, and know which one to reach for
- Choose between let and const correctly, and explain what a variable actually holds
- Predict what == does before you run it, and know why === is the everyday choice
- Write functions with confidence, including arrow functions, default parameters and closures
- Transform data with map, filter, reduce, find and sort instead of writing loops by hand
- Work with objects, destructuring, spread and JSON without copying snippets blindly
- Read a stack trace, use the debugger, and handle errors with try/catch deliberately
- Explain the event loop well enough to know why async code runs when it does
- Use promises and async/await to fetch data and handle failure properly
Stuck on something? Ask
Every lesson has an assistant that can see the lesson you are reading. Ask in your own words and it answers using the same examples and table names in front of you — no switching to a search engine and losing your place.
Why does WHERE come after FROM?
Because the database reads the rows first, then decides which to keep. That order is also why WHERE cannot see a SELECT alias.
It will not give you assessment answers — it explains the idea they test, so the certificate still means something.
Not ready yet?
One email when something new is published. Nothing else.
Course content
What JavaScript Is, and Running Your First Program 7 lessons
- What a program is, and what JavaScript is for Preview
- Your first program, with nothing installed Preview
- Installing Node and an editor Preview
- Reading an error message Preview
- Download: practice.js (the file used throughout) Preview
- Knowledge check: running JavaScript
- Section 1 handout (PDF)
Values, Variables and Types 6 lessons
- Variables: names for values
- The types, and what each is for
- Type coercion: why "5" + 1 is "51"
- Numbers, and the 0.1 + 0.2 problem
- Knowledge check: values and the names for them
- Section 2 handout (PDF)
Working with Text and Numbers 5 lessons
- Template literals: building sentences properly
- String methods, and why they never change anything
- Arithmetic and the Math object
- Knowledge check: strings and maths
- Section 3 handout (PDF)
Making Decisions: Conditions and Truthiness 6 lessons
- if, else and comparison
- == versus ===, and why one of them wins
- Truthy, falsy, and the falsy eight
- Shorter forms: ternary, ||, && and ??
- Knowledge check: conditions and comparison
- Section 4 handout (PDF)
Repeating Work: Loops and Iteration 5 lessons
- for...of: the one you will use most
- The classic for loop, and the off-by-one
- while, break and continue
- Knowledge check: loops
- Section 5 handout (PDF)
Functions: Naming a Piece of Work 6 lessons
- Why functions exist
- Arrow functions
- Scope: where a name can be seen
- Closures: functions that remember
- Knowledge check: functions and scope
- Section 6 handout (PDF)
Arrays: Lists and What to Do With Them 5 lessons
- Arrays, indexes, and what const really protects
- map, filter and find: the everyday three
- reduce, sort, and the traps in both
- Knowledge check: arrays and their methods
- Section 7 handout (PDF)
Objects, Destructuring and JSON 5 lessons
- Objects: values with names
- References: the bug that looks like magic
- Destructuring, and JSON
- Knowledge check: objects and references
- Section 8 handout (PDF)
When Things Go Wrong: Errors and Debugging 5 lessons
- Reading a stack trace
- try, catch, throw and finally
- A method for debugging
- Knowledge check: errors and debugging
- Section 9 handout (PDF)
Asynchronous JavaScript: Waiting Without Freezing 5 lessons
- Why waiting is a problem
- Promises
- async and await
- Knowledge check: promises and async/await
- Section 10 handout (PDF)
Putting It Together: Building Something Real 5 lessons
- The brief
- Changing data without breaking it
- Bringing in the network, and what to do next
- Final assessment: the whole language
- Section 11 handout (PDF)
Frequently asked questions
Do I need any programming experience?
None at all. The course starts by explaining what a program is and what running one means. If you can use a text editor and type a command into a terminal, you can start — and section 1 walks through both.
What do I need to install?
Node.js 20 or later, which is free on every operating system, and any text editor — VS Code is the usual choice and also free. Section 1 covers installing both. For the first few sections you can even use the browser console you already have, with nothing installed at all.
Is this front-end or back-end JavaScript?
It is the language itself, which is the part both share. Nothing here is specific to browsers or to servers, so it is equally useful whether you go on to React, to Node back-ends, or to neither. Where the two environments genuinely differ, the text says so.
Should I take this before React Foundations?
Yes, unless you already write JavaScript comfortably. React is a JavaScript library, and most people who find React confusing are actually stumbling on the JavaScript underneath it — array methods, destructuring, closures and async. This course covers exactly those, and React Foundations assumes them.
Does it cover TypeScript?
No. TypeScript is JavaScript plus a type checker, and learning both at once means never being sure which language is complaining at you. Learn this first; TypeScript is a much shorter step afterwards.
Is this a video course?
No. Every lesson is written out in full, so you can read at your own pace, search it later, and keep it open beside your editor. Each section also ships as a printable PDF handout.
Do I need to memorise all the methods?
No, and you should not try. The course teaches which tool fits which problem and expects you to look up exact arguments forever, like every working developer does. Knowing that reduce exists matters; knowing its argument order by heart does not.
Instructor
Fepiq Courses
Practical engineering courses written for people who prefer reading to watching.
We'll send your receipt and a sign-in code here. No password needed.
Full lifetime access · Certificate on completion · AI tutor in every lesson
Save ₹499
Front-End Foundations: JavaScript and React
- JavaScript Foundations: The Language, Explained Properly (this course)
- React Foundations: Building Interfaces, Explained Properly