#фишка дня
Автор твита с картинкой выше буквально написал: «It's official. I don't understand
Ну, давайте разбираться, что же тут не так. Или всё так?
И надо ли это вообще понимать?
Для начала, подумаем, зачем нам может понадобиться URL.canParse. А нужно это для случаев, когда отбросить токенизацию aka URL.parse и выполнение запроса дешевле и быстрее, чем упасть в ошибку или городить try-catch. Например, в работе с микросервисами, с БД.
Если внимательно оценить все случаи и глянуть на документацию, наблюдаются два паттерна:
1. Если есть порт, протокол не нужен
2. IP-адресам всегда нужен протокол
Ну, собственно, это и есть ответ на вопрос, как же работает canParse и особо больше понимать там нечего.
Другое дело, что URL.parse и URL.canParse в принципе как-то странно реализованы... Попробуйте в консоли сделать
Так что история ещё не закончена. Понять canParse — можно. А стоит ли применять — вопрос.
#url #parse #static #javascript
Автор твита с картинкой выше буквально написал: «It's official. I don't understand
URL.canParse
🫠»Ну, давайте разбираться, что же тут не так. Или всё так?
И надо ли это вообще понимать?
Для начала, подумаем, зачем нам может понадобиться URL.canParse. А нужно это для случаев, когда отбросить токенизацию aka URL.parse и выполнение запроса дешевле и быстрее, чем упасть в ошибку или городить try-catch. Например, в работе с микросервисами, с БД.
Если внимательно оценить все случаи и глянуть на документацию, наблюдаются два паттерна:
1. Если есть порт, протокол не нужен
2. IP-адресам всегда нужен протокол
Ну, собственно, это и есть ответ на вопрос, как же работает canParse и особо больше понимать там нечего.
Другое дело, что URL.parse и URL.canParse в принципе как-то странно реализованы... Попробуйте в консоли сделать
URL.parse("google.com:80")
.Так что история ещё не закончена. Понять canParse — можно. А стоит ли применять — вопрос.
#url #parse #static #javascript
🤡4👍1