<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
<title>Learn TypeScript</title>
<link>https://learn-typescript.org/</link>
<description>Free TypeScript tutorials, plus how to use the type system as a correctness harness for AI-generated code.</description>
<lastBuildDate>Sun, 06 Sep 2026 03:07:12 GMT</lastBuildDate>
<item><title>Hello, World!</title><link>https://learn-typescript.org/hello-world/</link><guid>https://learn-typescript.org/hello-world/</guid><description>Your first TypeScript file, and the two commands that check it and run it.</description></item>
<item><title>The type system is the best prompt you will ever write</title><link>https://learn-typescript.org/ai/types-as-harness/</link><guid>https://learn-typescript.org/ai/types-as-harness/</guid><description>A type is a specification the compiler enforces on every edit, for free, forever. That makes TypeScript unusually well suited to a workflow where a machine writes most of the code.</description></item>
<item><title>The TypeScript mistakes language models actually make</title><link>https://learn-typescript.org/review/failure-modes/</link><guid>https://learn-typescript.org/review/failure-modes/</guid><description>The compiler catches a lot. What survives is almost always the compiler being told to look away.</description></item>
<item><title>Variables and Types</title><link>https://learn-typescript.org/variables-and-types/</link><guid>https://learn-typescript.org/variables-and-types/</guid><description>TypeScript is JavaScript plus a type checker. This is where the types start — and where you stop writing var.</description></item>
<item><title>Arrays</title><link>https://learn-typescript.org/arrays/</link><guid>https://learn-typescript.org/arrays/</guid><description>TypeScript arrays are JavaScript arrays with an element type — `string[]` rather than a bag of anything.</description></item>
<item><title>Dependency hygiene for TypeScript projects</title><link>https://learn-typescript.org/review/dependencies/</link><guid>https://learn-typescript.org/review/dependencies/</guid><description>Everything npm does wrong, plus a second parallel dependency graph made of type definitions that nobody reviews.</description></item>
<item><title>Writing an AGENTS.md for TypeScript</title><link>https://learn-typescript.org/ai/agents-md/</link><guid>https://learn-typescript.org/ai/agents-md/</guid><description>Half of what people put in a TypeScript instructions file belongs in tsconfig.json instead, where it is enforced rather than suggested.</description></item>
<item><title>Manipulating Arrays</title><link>https://learn-typescript.org/manipulating-arrays/</link><guid>https://learn-typescript.org/manipulating-arrays/</guid><description>Arrays can also function as a stack. The push and pop methods insert and remove variables from the end of an array.</description></item>
<item><title>Security review for TypeScript: what types do and do not buy you</title><link>https://learn-typescript.org/review/security/</link><guid>https://learn-typescript.org/review/security/</guid><description>Types are erased at runtime, so an attacker never sees them. The security value of TypeScript is real but indirect — and generated code reaches for the escape hatches at exactly the wrong moments.</description></item>
<item><title>Type-safe LLM applications in TypeScript</title><link>https://learn-typescript.org/ai/evals/</link><guid>https://learn-typescript.org/ai/evals/</guid><description>A model returns a string. Your application needs a value. Everything interesting about building LLM apps in TypeScript happens at that boundary — and it is the one place `as` will hurt you most.</description></item>
<item><title>Build performance: the TypeScript bottleneck nobody profiles</title><link>https://learn-typescript.org/review/performance/</link><guid>https://learn-typescript.org/review/performance/</guid><description>Runtime performance is JavaScript's problem and is covered there. TypeScript's own performance problem is the compiler — and a slow one directly degrades the quality of everything an agent writes.</description></item>
<item><title>Making token budgets a type error</title><link>https://learn-typescript.org/ai/tokenomics/</link><guid>https://learn-typescript.org/ai/tokenomics/</guid><description>You cannot type-check a bill. You can make it impossible to call a model without a budget, impossible to confuse dollars with tokens, and impossible to add a call site nobody is measuring.</description></item>
<item><title>Operators</title><link>https://learn-typescript.org/operators/</link><guid>https://learn-typescript.org/operators/</guid><description>The arithmetic, comparison and logical operators, and the two TypeScript-relevant ones: ?? and ?.</description></item>
<item><title>Conditions</title><link>https://learn-typescript.org/conditions/</link><guid>https://learn-typescript.org/conditions/</guid><description>The if statement allows us to check if an expression is equal to true or false, and execute different code according to the result.</description></item>
<item><title>Loops</title><link>https://learn-typescript.org/loops/</link><guid>https://learn-typescript.org/loops/</guid><description>for, for...of, for...in and while — and which one to reach for.</description></item>
<item><title>Objects</title><link>https://learn-typescript.org/objects/</link><guid>https://learn-typescript.org/objects/</guid><description>Objects hold keyed values, and in TypeScript the set of keys and their types is part of the type.</description></item>
<item><title>Functions</title><link>https://learn-typescript.org/functions/</link><guid>https://learn-typescript.org/functions/</guid><description>Functions are code blocks that can have arguments, and function have their own scope.</description></item>
<item><title>Pop-up Boxes</title><link>https://learn-typescript.org/pop-up-boxes/</link><guid>https://learn-typescript.org/pop-up-boxes/</guid><description>There are three types of pop-up boxes in javascript: confirm, alert, and prompt.</description></item>
<item><title>Callbacks</title><link>https://learn-typescript.org/callbacks/</link><guid>https://learn-typescript.org/callbacks/</guid><description>Passing a function to another function — and typing its signature so the parameters come out inferred.</description></item>
<item><title>Arrow Functions</title><link>https://learn-typescript.org/arrow-functions/</link><guid>https://learn-typescript.org/arrow-functions/</guid><description>Arrow functions are a feature of ES6, their behavior are generally the same of a function.</description></item>
<item><title>Object Oriented JavaScript</title><link>https://learn-typescript.org/object-oriented-javascript/</link><guid>https://learn-typescript.org/object-oriented-javascript/</guid><description>JavaScript uses functions as classes to create objects using the new keyword.</description></item>
<item><title>Function Context</title><link>https://learn-typescript.org/function-context/</link><guid>https://learn-typescript.org/function-context/</guid><description>Functions in JavaScript run in a specific context, and using the this variable we have access to it.</description></item>
<item><title>Inheritance</title><link>https://learn-typescript.org/inheritance/</link><guid>https://learn-typescript.org/inheritance/</guid><description>JavaScript uses prototype based inheritance.</description></item>
<item><title>Destructuring</title><link>https://learn-typescript.org/destructuring/</link><guid>https://learn-typescript.org/destructuring/</guid><description>Destructuring is a feature of ES6, introduced for making easier and cleaner some repetitive operations and assignments made in JS.</description></item>
<item><title>Functions and Signatures</title><link>https://learn-typescript.org/functions-and-signatures/</link><guid>https://learn-typescript.org/functions-and-signatures/</guid><description>A function signature is the most valuable annotation you will write — it is a contract the compiler enforces at every call site.</description></item>
<item><title>Interfaces and Type Aliases</title><link>https://learn-typescript.org/interfaces-and-type-aliases/</link><guid>https://learn-typescript.org/interfaces-and-type-aliases/</guid><description>Naming the shape of your data is the point at which TypeScript starts paying for itself.</description></item>
<item><title>Union Types and Narrowing</title><link>https://learn-typescript.org/union-types-and-narrowing/</link><guid>https://learn-typescript.org/union-types-and-narrowing/</guid><description>A union says a value is one of several things. Narrowing is how you prove which one — and it is the most distinctively TypeScript skill there is.</description></item>
<item><title>Generics</title><link>https://learn-typescript.org/generics/</link><guid>https://learn-typescript.org/generics/</guid><description>A generic is a type with a hole in it. They look intimidating and the everyday use is genuinely simple.</description></item>
<item><title>Classes and Access Modifiers</title><link>https://learn-typescript.org/classes-and-modifiers/</link><guid>https://learn-typescript.org/classes-and-modifiers/</guid><description>TypeScript adds real access control, parameter properties and interface implementation to JavaScript classes.</description></item>
<item><title>Async and Promises</title><link>https://learn-typescript.org/async-and-promises/</link><guid>https://learn-typescript.org/async-and-promises/</guid><description>Typing asynchronous code, and the lint rule that catches the most common bug in TypeScript and JavaScript alike.</description></item>
</channel></rss>