<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
<title>Learn JavaScript</title>
<link>https://learn-javascript.org/</link>
<description>Free JavaScript tutorials with a runnable console, plus AI-native workflow guides for JS projects.</description>
<lastBuildDate>Sun, 06 Sep 2026 03:07:12 GMT</lastBuildDate>
<item><title>Hello, World!</title><link>https://learn-javascript.org/hello-world/</link><guid>https://learn-javascript.org/hello-world/</guid><description>Welcome to the first tutorial. In this tutorial you will learn how to write your first line of code. JavaScript is a very powerful language.</description></item>
<item><title>Setting up a coding agent for a JavaScript project</title><link>https://learn-javascript.org/ai/agent-setup/</link><guid>https://learn-javascript.org/ai/agent-setup/</guid><description>Node projects have the loosest defaults of any ecosystem here, which means the setup work matters more.</description></item>
<item><title>The JavaScript mistakes language models actually make</title><link>https://learn-javascript.org/review/failure-modes/</link><guid>https://learn-javascript.org/review/failure-modes/</guid><description>Async is where most of it lives. The rest is stale idioms from a decade of training data written before the language got good.</description></item>
<item><title>Variables and Types</title><link>https://learn-javascript.org/variables-and-types/</link><guid>https://learn-javascript.org/variables-and-types/</guid><description>JavaScript is dynamically typed, so a variable can hold any value. Declare with const by default, let when you need to reassign.</description></item>
<item><title>Arrays</title><link>https://learn-javascript.org/arrays/</link><guid>https://learn-javascript.org/arrays/</guid><description>JavaScript can hold an array of variables in an Array object. In JavaScript, an array also functions as a list, a stack or a queue.</description></item>
<item><title>npm dependency hygiene: install scripts, slopsquatting and transitive bloat</title><link>https://learn-javascript.org/review/dependencies/</link><guid>https://learn-javascript.org/review/dependencies/</guid><description>npm is the largest supply-chain surface in software, and the only major ecosystem where installing a package runs arbitrary code before you have written a line.</description></item>
<item><title>Writing an AGENTS.md for JavaScript</title><link>https://learn-javascript.org/ai/agents-md/</link><guid>https://learn-javascript.org/ai/agents-md/</guid><description>JavaScript needs a longer instructions file than the typed languages, and most of the extra length should be one list: what the platform now does that a package used to.</description></item>
<item><title>Manipulating Arrays</title><link>https://learn-javascript.org/manipulating-arrays/</link><guid>https://learn-javascript.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 checklist for AI-generated JavaScript</title><link>https://learn-javascript.org/review/security/</link><guid>https://learn-javascript.org/review/security/</guid><description>No compiler, a dynamic object model and the largest dependency ecosystem in software. The vulnerabilities that recur in generated JS follow from all three.</description></item>
<item><title>Testing JavaScript that calls a language model</title><link>https://learn-javascript.org/ai/evals/</link><guid>https://learn-javascript.org/ai/evals/</guid><description>Your function is now non-deterministic, slow, costs money per call, and streams. Here is a test strategy that still works — including for the streaming part, which is where most of the real bugs are.</description></item>
<item><title>Operators</title><link>https://learn-javascript.org/operators/</link><guid>https://learn-javascript.org/operators/</guid><description>Every variable in JavaScript is casted automatically so any operator between two variables will always give some kind of result.</description></item>
<item><title>The performance traps in generated JavaScript</title><link>https://learn-javascript.org/review/performance/</link><guid>https://learn-javascript.org/review/performance/</guid><description>Node is single-threaded, so a performance bug is an availability bug. Every item here is really the same item: something blocked the event loop or ran unbounded.</description></item>
<item><title>Tracking and cutting token costs in Node</title><link>https://learn-javascript.org/ai/tokenomics/</link><guid>https://learn-javascript.org/ai/tokenomics/</guid><description>Node's specific cost problem is streaming: the user leaves, the stream keeps running, and you keep paying. That plus three other changes usually halves the bill.</description></item>
<item><title>Conditions</title><link>https://learn-javascript.org/conditions/</link><guid>https://learn-javascript.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-javascript.org/loops/</link><guid>https://learn-javascript.org/loops/</guid><description>JavaScript has two methods for running the same code several times. It is mainly used for iterating over arrays or objects.</description></item>
<item><title>Objects</title><link>https://learn-javascript.org/objects/</link><guid>https://learn-javascript.org/objects/</guid><description>JavaScript is a functional language, and for object oriented programming it uses both objects and functions, but objects are usually used as a data structure, similar to a dictionary in Python or a map in Java.</description></item>
<item><title>Functions</title><link>https://learn-javascript.org/functions/</link><guid>https://learn-javascript.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-javascript.org/pop-up-boxes/</link><guid>https://learn-javascript.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-javascript.org/callbacks/</link><guid>https://learn-javascript.org/callbacks/</guid><description>Callbacks in JavaScript are functions that are passed as arguments to other functions.</description></item>
<item><title>Arrow Functions</title><link>https://learn-javascript.org/arrow-functions/</link><guid>https://learn-javascript.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-javascript.org/object-oriented-javascript/</link><guid>https://learn-javascript.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-javascript.org/function-context/</link><guid>https://learn-javascript.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-javascript.org/inheritance/</link><guid>https://learn-javascript.org/inheritance/</guid><description>JavaScript uses prototype based inheritance.</description></item>
<item><title>Destructuring</title><link>https://learn-javascript.org/destructuring/</link><guid>https://learn-javascript.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>Promises and async/await</title><link>https://learn-javascript.org/promises-and-async-await/</link><guid>https://learn-javascript.org/promises-and-async-await/</guid><description>The single most important topic in modern JavaScript, and the one where generated code most often gets it subtly wrong.</description></item>
<item><title>Modules</title><link>https://learn-javascript.org/modules/</link><guid>https://learn-javascript.org/modules/</guid><description>How JavaScript code is split across files — and the CommonJS/ESM split that still causes more confusion than anything else in the ecosystem.</description></item>
<item><title>Error Handling</title><link>https://learn-javascript.org/error-handling/</link><guid>https://learn-javascript.org/error-handling/</guid><description>Throwing, catching, and the specific ways JavaScript error handling goes wrong — including the one that terminates your process.</description></item>
<item><title>Closures and Scope</title><link>https://learn-javascript.org/closures-and-scope/</link><guid>https://learn-javascript.org/closures-and-scope/</guid><description>The mechanism behind callbacks, module privacy, React hooks and most memory leaks. Worth understanding properly once.</description></item>
<item><title>TensorFlow.js</title><link>https://learn-javascript.org/tensorflow-js/</link><guid>https://learn-javascript.org/tensorflow-js/</guid><description>TensorFlow.js is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models.</description></item>
<item><title>Convolutional Neural Networks with TensorFlow.js</title><link>https://learn-javascript.org/tensorflow-cnns/</link><guid>https://learn-javascript.org/tensorflow-cnns/</guid><description>Master computer vision with CNNs using TensorFlow.js.</description></item>
</channel></rss>