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") => nullSolution
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.