URL.parseで文字列をパースする
文字列がURLとして有効かどうかを判定するためURL.parse()
がある。
Before #1: try-catch
文字列をチェックするためだけなのに仰々しすぎる。
try {
const url = new URL('invalid url')
console.log({ url })
} catch {
...
}
Before #2: URL.canParse()
URL.canParse()はBaselineに到達しているため、全主要ブラウザで利用可能。
URL.canParse()
が文字列を判定しtrue/falseを返してくれる。
const invalidURL = 'invalid url'
if (URL.canParse(invalidURL)) {
const url = new URL(invalidURL)
console.log({ url })
}
After: URL.parse()
URL.parse()を使うと、URL.canParse()
とnew URL()
を一度に行うことができる。
※2024-07-21現在、Chrome126、Edge126、Firefox126、Safari TP(18)で利用可能。
const url = URL.parse('invalid url')
console.log({ url })
if (url === null) { // 不正なURL }
if (url instanceof URL) { // パース成功 }