Find out what is a URL object and how to use it

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:

  • hash the hash fragment
  • host the domain + port
  • hostname the domain
  • href contains the entire URL
  • origin scheme + domain + port
  • password
  • pathname
  • port
  • protocol
  • search
  • searchParams
  • username

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.