JavaScript Tutorial
JavaScript Examples
129 snippets you can run. Click Try it in JavaScript to open /javascript/try — a live page and a console.
129 copy-and-run snippets. Open one in Try JavaScript at /javascript/try, change a value, and run it again. Each language has its own shelf and its own editor.
Start
console.log
console.log("Hello, JavaScript");
Related lesson →Two logs
console.log("first");
console.log("second");
Related lesson →Statement semicolon
let n = 1;
n = n + 2;
console.log(n);
Related lesson →Line comment
// Keep this for later
console.log("ok");
Related lesson →Block comment
/* hours: 8-16 */
console.log(8);
Related lesson →Case sensitive
let Name = "Ada";
let name = "Lin";
console.log(Name, name);
Related lesson →Variables
let reassign
let count = 1;
count = 2;
console.log(count);
Related lesson →const number
const MAX = 10;
console.log(MAX);
Related lesson →var old style
var city = "Oslo";
console.log(city);
Related lesson →Add numbers
console.log(3 + 4);
Related lesson →Remainder
console.log(10 % 3);
Related lesson →Increment
let n = 4;
n += 1;
console.log(n);
Related lesson →typeof string
console.log(typeof "hi");
Related lesson →typeof number
console.log(typeof 7);
Related lesson →Boolean compare
console.log(5 > 2);
Related lesson →Strict equal
console.log(5 === "5");
Related lesson →Loose equal
console.log(5 == "5");
Related lesson →And operator
console.log(true && false);
Related lesson →Or operator
console.log(false || true);
Related lesson →Not operator
console.log(!false);
Related lesson →const array mutate
const nums = [1];
nums.push(2);
console.log(nums);
Related lesson →undefined var
let x;
console.log(x);
Related lesson →null type
console.log(null);
Related lesson →Core
Function return
function greet(name) {
return "Hello, " + name;
}
console.log(greet("Mira"));
Related lesson →Function no args
function ping() {
return "pong";
}
console.log(ping());
Related lesson →Object literal
const person = { name: "Ada", year: 1815 };
console.log(person.name);
Related lesson →Bracket key
const person = { name: "Ada" };
console.log(person["name"]);
Related lesson →Arrow double
const double = (n) => n * 2;
console.log(double(5));
Related lesson →Arrow one line
const square = n => n * n;
console.log(square(4));
Related lesson →this in method
const cat = {
name: "Miso",
speak() { return this.name + " meows"; }
};
console.log(cat.speak());
Related lesson →destructure
const { name } = { name: "Ada", year: 1815 };
console.log(name);
Related lesson →default param
function greet(name = "friend") {
return "Hi, " + name;
}
console.log(greet());
Related lesson →Strings
String length
console.log("JavaScript".length);
Related lesson →Index char
console.log("Ada"[0]);
Related lesson →Concatenate
console.log("Hello, " + "world");
Related lesson →toUpperCase
console.log("hi".toUpperCase());
Related lesson →trim
console.log(" hi ".trim());
Related lesson →includes
console.log("JavaScript".includes("Script"));
Related lesson →slice
console.log("JavaScript".slice(0, 4));
Related lesson →replace
console.log("cat".replace("c", "b"));
Related lesson →Template name
const name = "Lin";
console.log(`Hello, ${name}`);
Related lesson →Template math
const n = 3;
console.log(`n squared is ${n * n}`);
Related lesson →template multiline
console.log(`line 1
line 2`);
Related lesson →split words
console.log("a b c".split(" "));
Related lesson →startsWith
console.log("JavaScript".startsWith("Java"));
Related lesson →repeat
console.log("-".repeat(3));
Related lesson →Numbers
toFixed
console.log((3.14159).toFixed(2));
Related lesson →parseInt
console.log(parseInt("42", 10));
Related lesson →Number()
console.log(Number("7"));
Related lesson →String()
console.log(String(7));
Related lesson →NaN check
console.log(Number.isNaN(Number("x")));
Related lesson →Math.round
console.log(Math.round(4.6));
Related lesson →Math.floor
console.log(Math.floor(4.9));
Related lesson →Math.max
console.log(Math.max(3, 9, 1));
Related lesson →Math.abs
console.log(Math.abs(-4));
Related lesson →Random integer 1-6
console.log(Math.floor(Math.random() * 6) + 1);
Related lesson →Math.min
console.log(Math.min(3, 9, 1));
Related lesson →Math.ceil
console.log(Math.ceil(4.1));
Related lesson →power
console.log(2 ** 3);
Related lesson →Arrays
Array literal
const fruits = ["apple", "pear", "fig"];
console.log(fruits[0]);
Related lesson →Array length
console.log([1, 2, 3].length);
Related lesson →push
const nums = [1, 2];
nums.push(3);
console.log(nums);
Related lesson →pop
const nums = [1, 2, 3];
console.log(nums.pop());
Related lesson →join
console.log(["a", "b", "c"].join("-"));
Related lesson →includes item
console.log([1, 2, 3].includes(2));
Related lesson →map double
console.log([1, 2, 3].map((n) => n * 2));
Related lesson →filter even
console.log([1, 2, 3, 4].filter((n) => n % 2 === 0));
Related lesson →find first
console.log([3, 8, 12].find((n) => n > 5));
Related lesson →forEach log
["a", "b"].forEach((x) => console.log(x));
Related lesson →for of
for (const n of [1, 2, 3]) {
console.log(n);
}
Related lesson →for index
const xs = [10, 20];
for (let i = 0; i < xs.length; i++) {
console.log(i, xs[i]);
}
Related lesson →reduce sum
console.log([2, 4, 6].reduce((a, b) => a + b, 0));
Related lesson →spread copy
const a = [1, 2];
const b = [...a, 3];
console.log(b);
Related lesson →sort numbers
console.log([3, 1, 2].sort((a, b) => a - b));
Related lesson →slice array
console.log([1, 2, 3, 4].slice(1, 3));
Related lesson →concat arrays
console.log([1, 2].concat([3]));
Related lesson →some
console.log([1, 3, 5].some((n) => n > 4));
Related lesson →every
console.log([2, 4, 6].every((n) => n % 2 === 0));
Related lesson →Flow
if pass
const score = 72;
if (score >= 50) {
console.log("pass");
}
Related lesson →if else
const n = -1;
if (n >= 0) {
console.log("plus");
} else {
console.log("minus");
}
Related lesson →else if
const n = 0;
if (n > 0) console.log("pos");
else if (n < 0) console.log("neg");
else console.log("zero");
Related lesson →ternary
const n = 4;
console.log(n % 2 === 0 ? "even" : "odd");
Related lesson →switch day
const day = "Mon";
switch (day) {
case "Mon":
console.log("start");
break;
default:
console.log("other");
}
Related lesson →while countdown
let n = 3;
while (n > 0) {
console.log(n);
n--;
}
Related lesson →do while
let n = 0;
do {
console.log(n);
n++;
} while (n < 2);
Related lesson →break loop
for (let i = 0; i < 10; i++) {
if (i === 3) break;
console.log(i);
}
Related lesson →continue even
for (let i = 0; i < 5; i++) {
if (i % 2 === 0) continue;
console.log(i);
}
Related lesson →Types
Set unique
const s = new Set(["a", "a", "b"]);
console.log(s.size);
Related lesson →Set has
const s = new Set([1, 2]);
console.log(s.has(2));
Related lesson →Map set get
const m = new Map();
m.set("a", 1);
console.log(m.get("a"));
Related lesson →typeof array
console.log(typeof []);
Related lesson →Array.isArray
console.log(Array.isArray([1, 2]));
Related lesson →typeof null
console.log(typeof null);
Related lesson →JSON stringify
console.log(JSON.stringify({ a: 1 }));
Related lesson →JSON parse
console.log(JSON.parse('{"a":1}').a);
Related lesson →Date year
const d = new Date(2026, 0, 1);
console.log(d.getFullYear());
Related lesson →try catch
try {
throw new Error("nope");
} catch (e) {
console.log(e.message);
}
Related lesson →class instance
class Cat {
constructor(name) { this.name = name; }
}
console.log(new Cat("Miso").name);
Related lesson →scope block
let a = 1;
{
let a = 2;
console.log(a);
}
console.log(a);
Related lesson →hoist note
console.log(typeof greet);
function greet() { return 1; }
Related lesson →Set add
const s = new Set();
s.add(1);
s.add(1);
console.log([...s]);
Related lesson →Map keys
const m = new Map([["a", 1], ["b", 2]]);
console.log([...m.keys()]);
Related lesson →class method
class Counter {
constructor() { this.n = 0; }
inc() { this.n += 1; return this.n; }
}
console.log(new Counter().inc());
Related lesson →throw number
try {
throw 404;
} catch (e) {
console.log(e);
}
Related lesson →finally
try {
console.log("try");
} finally {
console.log("done");
}
Related lesson →DOM
Change heading
<h1 id="title">Old</h1>
<script>
document.getElementById("title").textContent = "New";
console.log("updated");
</script>
Related lesson →querySelector
<p class="note">Wait</p>
<script>
document.querySelector(".note").textContent = "Ready";
</script>
Related lesson →querySelectorAll
<li>A</li><li>B</li>
<script>
console.log(document.querySelectorAll("li").length);
</script>
Related lesson →createElement
<ul id="list"></ul>
<script>
const li = document.createElement("li");
li.textContent = "pear";
document.getElementById("list").appendChild(li);
</script>
Related lesson →classList add
<p id="n">Hi</p>
<style>.on{color:teal}</style>
<script>
document.getElementById("n").classList.add("on");
</script>
Related lesson →Click counter
<button id="go">+1</button>
<p id="out">0</p>
<script>
let n = 0;
document.getElementById("go").addEventListener("click", () => {
n += 1;
document.getElementById("out").textContent = n;
console.log(n);
});
</script>
Related lesson →Input greet
<input id="name" value="Ada">
<button id="go">Greet</button>
<p id="out"></p>
<script>
document.getElementById("go").addEventListener("click", () => {
const name = document.getElementById("name").value;
document.getElementById("out").textContent = "Hello, " + name;
});
</script>
Related lesson →Prevent submit
<form id="f"><button>Send</button></form>
<p id="out"></p>
<script>
document.getElementById("f").addEventListener("submit", (e) => {
e.preventDefault();
document.getElementById("out").textContent = "Stopped submit";
});
</script>
Related lesson →setTimeout
<p id="out">wait</p>
<script>
setTimeout(() => {
document.getElementById("out").textContent = "later";
console.log("later");
}, 300);
</script>
Related lesson →localStorage set
<p id="out"></p>
<script>
localStorage.setItem("theme", "dark");
document.getElementById("out").textContent = localStorage.getItem("theme");
</script>
Related lesson →JSON in storage
<p id="out"></p>
<script>
localStorage.setItem("user", JSON.stringify({ name: "Ada" }));
const user = JSON.parse(localStorage.getItem("user"));
document.getElementById("out").textContent = user.name;
</script>
Related lesson →Fetch json placeholder
<p id="out">loading</p>
<script>
fetch("https://jsonplaceholder.typicode.com/todos/1")
.then((r) => r.json())
.then((data) => {
document.getElementById("out").textContent = data.title;
console.log(data.id);
})
.catch((err) => console.log(err.message));
</script>
Related lesson →Change style
<p id="n">Paint me</p>
<script>
document.getElementById("n").style.color = "teal";
</script>
Related lesson →innerHTML list
<div id="box"></div>
<script>
document.getElementById("box").innerHTML = "<strong>Hi</strong>";
</script>
Related lesson →textContent vs html
<p id="n"></p>
<script>
document.getElementById("n").textContent = "<b>plain</b>";
</script>
Related lesson →onclick attribute
<button onclick="console.log('clicked')">Log</button>
Related lesson →window location path
console.log(location.pathname);
Related lesson →Date clock bits
const d = new Date();
console.log(d.getHours(), d.getMinutes());
Related lesson →padStart time
console.log(String(7).padStart(2, "0"));
Related lesson →dataset
<button id="go" data-id="7">Go</button>
<script>
console.log(document.getElementById("go").dataset.id);
</script>
Related lesson →toggle class
<button id="go">Toggle</button>
<p id="n" class="off">box</p>
<style>.on{font-weight:800}</style>
<script>
document.getElementById("go").addEventListener("click", () => {
document.getElementById("n").classList.toggle("on");
});
</script>
Related lesson →remove child
<ul id="list"><li id="gone">x</li></ul>
<script>
document.getElementById("gone").remove();
console.log(document.querySelectorAll("li").length);
</script>
Related lesson →sessionStorage
<p id="out"></p>
<script>
sessionStorage.setItem("n", "1");
document.getElementById("out").textContent = sessionStorage.getItem("n");
</script>
Related lesson →async await fetch
<p id="out"></p>
<script>
(async () => {
const res = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await res.json();
document.getElementById("out").textContent = data.completed;
})();
</script>
Related lesson →