URL is a namespace used to host 2 static methods used to manipulate URLs using Blobs:
URL.createObjectURL()URL.revokeObjectURL()
Given a blob, you generate a URL to it using the URL.createObjectURL() function:
const myURL = URL.createObjectURL(aBlob)
Once you have the blob URL, you can destroy it from memory using:
URL.revokeObjectURL(myURL)
In addition to this, URL offers a very different functionality through its constructor, which can be used to create a URL. You can call it like this:
const currentUrl = new URL(window.location.href)
Now currentUrl has a set of properties you can use to inspect the URL:
hashthe hash fragmenthostthe domain + porthostnamethe domainhrefcontains the entire URLoriginscheme + domain + portpasswordpathnameportprotocolsearchsearchParamsusername
which are the usual parts of a URL.
You can alter any of those, except origin and searchParams which are read only, and generate a new URL string by calling the toString() method, or by referencing the href property.