Mastering TypeScript: Interfaces, Generics, and Union Types Explained
TypeScript from the ground up: type annotations, interfaces, type aliases, union and intersection types, generics and tsconfig.
The language itself, from variables, operators and functions to objects, this, Promises and async/await. Several posts build the same idea in small steps, and the later ones cover TypeScript and the questions that come up in JavaScript interviews.
23 articles
Start here if you are new to JavaScript. Each post builds on the one before it, from variables to how `this` and `new` work.
9 partsAsync JavaScriptHow JavaScript handles work that takes time: the synchronous model first, then callbacks, Promises, async/await and error handling.
5 partsTypeScript from the ground up: type annotations, interfaces, type aliases, union and intersection types, generics and tsconfig.
Learn when to use JavaScript Map and Set instead of Object and Array. Includes performance benchmarks, real code examples, and clear trade-offs.
Learn JavaScript destructuring with real before/after examples. Covers array destructuring, object destructuring, default values, and function parameters.
Learn how the `this` keyword works in JavaScript — global scope, object methods, callbacks, and arrow functions — with clear runnable examples.
How JavaScript runs one thing at a time, and how asynchronous code hands off slow work like API calls and timers without freezing the page.
Async/await is syntax over Promises that makes async code read top to bottom. How it works, error handling with try/catch, and parallel calls with Promise.all.
From nested chaos to clean lists — understand, implement, and ace every flatten question.
A flow diagram showing a source array [1, 2, 3] being unpacked by the ... spread syntax into three individual amber-coloured elements, which then merg
Learn how structured error handling in JavaScript turns crashes into recoverable moments with real code, clear patterns, and zero fluff.
What JavaScript does step by step when you call a function with new: object creation, prototype linking, binding this, and what goes wrong without new.
Template literals in JavaScript: embedded expressions, multi-line strings and tagged templates, and how they replace string concatenation.
Implement String methods like includes, trim and repeat from scratch: how string polyfills work and the string questions that come up in interviews.
Why callbacks exist in JavaScript, how they work with async code like timers and file reads, and where nesting them starts to hurt.
How JavaScript modules work: named and default exports, imports, and how splitting code into modules keeps a project maintainable.
How this works in JavaScript functions and objects, and how call(), apply() and bind() let you control it, with a side-by-side comparison and exercises.
Function declarations vs function expressions in JavaScript: syntax, hoisting, when to use each, and a quick look at arrow functions.
JavaScript operators explained: arithmetic, comparison, logical and assignment operators, with == vs === and a short practice exercise.
JavaScript objects from the ground up: key-value pairs, creating objects, reading, updating and deleting properties, and looping through keys.
How JavaScript decides which code runs: if, else if, else and switch statements, with examples and when to use each.
Real-life box analogy to introduce variables intuitively All 3 declaration types (var, let, const) with clear examples and when to use each Comparison
An arrow function is just a shorter, more modern way to write a function in JavaScript. That's honestly all it is. It was introduced in ES6 (2015) and
JavaScript Promises aren't complicated once you stop thinking of them abstractly.
Ten JavaScript array methods beyond the basics, including copyWithin, reduceRight, with and flatMap, plus a Shinchan-story warm-up on push, pop, slice, map and find.