Encoding & Decoding URLs

console.log(encodeURI("my page.asp")); // "my%20page.asp"
console.log(decodeURI("my%20page.asp")); // "my page.asp"

console.log(encodeURIComponent("my page.asp")); // "my%20page.asp"
console.log(decodeURIComponent("my%20page.asp")); // "my page.asp"

Creating & Parsing URLs

const url = new URL("<https://example.com/path?name=John&age=25>");

console.log(url.hostname); // "example.com"
console.log(url.pathname); // "/path"
console.log(url.searchParams.get("name")); // "John"
console.log(url.searchParams.get("age")); // "25"

Resolving & Normalizing URLs

const myUrl = new URL("<https://example.com:8080/path>");

console.log(myUrl.href); // "<https://example.com:8080/path>"
console.log(myUrl.origin); // "<https://example.com:8080>"
console.log(myUrl.protocol); // "https:"
console.log(myUrl.toString()); // "<https://example.com:8080/path>"

Manipulating Query Parameters