Exercise 5: Extract Domain from URL

Problem Statement

Create a function `getDomain(url)`. Return null for invalid URL.

Sample Output:

getDomain("https://google.com/search") => "google.com"
getDomain("http://example.com") => "example.com"
getDomain("invalid-url") => null

Solution

const getDomain = (url) => {
  try { return new URL(url).hostname; } catch { return null; }
};

Explanation

Overall Goal:

  • URL se domain name extract karna.
  • Invalid URL handle karna (error case).

Line 1: Function header

  • const getDomain = (url) => { → function jo URL string lega.

Line 2: Try block

  • try { return new URL(url).hostname; }
  • try → error handling: agar code me error aaye to catch block me jayega.
  • new URL(url) → URL constructor:
  • URL string ko parse karta hai.
  • Valid URL ho to URL object return.
  • Invalid URL ho to error throw karta hai.
  • .hostname → URL object se domain name extract.
  • Example: new URL("https://example.com/path").hostname"example.com".

Line 3: Catch block

  • catch { return null; }
  • Agar try block me error aaya (invalid URL) → catch block execute.
  • return null → error case me null return.

Example:

  • getDomain("https://google.com/search")"google.com".
  • getDomain("invalid-url")null (error, catch block).

Real world:

  • Analytics: page URLs se domains track karna.
  • Link previews: external links ka domain show karna.
  • Security: URL validation, domain whitelisting.