Saltar al contenido

API de URL de JavaScript

Introducción a los objetos URL de JavaScript

JavaScript proporciona una potente interfaz URL integrada para construir, analizar y manipular URLs. Esta guía profundizará en el objeto URL, explorando sus propiedades, métodos y cómo puede utilizarse para mejorar las aplicaciones web.

Creación y análisis de URLs con JavaScript

Creación básica de URLs

El objeto URL permite crear y manipular cadenas de URL. Para crear una nueva URL, simplemente pasa la cadena de la URL como argumento al constructor URL:


javascript
const url = new URL("https://www.w3docs.com");

Análisis de componentes de la URL

Una vez creado un objeto URL, puedes acceder a varios componentes de la URL, como el protocolo, el nombre de host y la ruta:


Output appears here after Run.

Para validar URLs antes de procesarlas, puedes usar el método estático URL.canParse(), que devuelve un booleano que indica si la cadena es una URL válida.

Manipulación de objetos URL

A continuación se muestra un ejemplo que demuestra cómo manipular la cadena de consulta de una URL usando URLSearchParams:


Output appears here after Run.

Explicación

  • Inicialización:
    • El objeto URL se crea con una URL base que ya incluye un parámetro de consulta (initial=123).
  • Objeto URLSearchParams:
    • URLSearchParams se inicializa con url.search, que contiene la cadena de consulta de la URL.
  • Agregar un parámetro:
    • El método .set() se usa para agregar un nuevo parámetro (key=value) a la cadena de consulta. Si la clave ya existe, su valor se actualiza; si no existe, se agrega el par clave-valor.
  • Leer un parámetro:
    • El método .get() recupera el valor del parámetro especificado por la clave (key), que luego se muestra en la consola.
  • Eliminar un parámetro:
    • El método .delete() elimina el parámetro especificado por la clave (initial). Esto se usa para demostrar cómo eliminar un parámetro de la cadena de consulta.
  • Actualizar la búsqueda de la URL:
    • Después de modificar los parámetros, la propiedad search de la URL se actualiza con la representación en cadena del objeto URLSearchParams.
  • Salida:
    • Finalmente, la URL modificada se muestra en la consola, mostrando el efecto de las operaciones.

Modificación de la ruta y el hash

Aquí tienes un fragmento de JavaScript que muestra cómo modificar el pathname y el hash de una URL:


Output appears here after Run.

Explicación

  • Inicialización del objeto URL:
    • El objeto URL se crea inicialmente a partir de una cadena que representa una URL completa. Esta URL incluye una ruta, una cadena de consulta y un fragmento hash.
  • Modificación del pathname:
    • La propiedad pathname del objeto URL se establece en una nueva ruta (/path/to/resource). Esta propiedad especifica la ruta o el recorrido en el servidor.
  • Modificación del hash:
    • La propiedad hash se actualiza a "section". En las URLs, el hash representa un marcador dentro de la página, a menudo usado para desplazarse a una sección específica.
  • Registro de cambios:
    • La URL original se muestra antes de las modificaciones para mostrar el estado inicial.
    • Después de las modificaciones, el nuevo estado de la URL se muestra para demostrar los efectos de cambiar pathname y hash.

Uso avanzado de objetos URL

Manejo de URLs relativas

El objeto URL también puede resolver URLs relativas frente a una URL base, lo cual es especialmente útil para aplicaciones web que trabajan con enlaces dinámicos:


Output appears here after Run.

Trabajo con la codificación de URLs

Cuando se trata de URLs que incluyen caracteres que necesitan codificación, el objeto URL los maneja automáticamente, asegurando que las URLs sean válidas:


Output appears here after Run.

Para manejar archivos locales o blobs, URL.createObjectURL() genera una cadena de URL temporal que hace referencia al objeto en memoria, lo cual es útil para previsualizar imágenes o descargar archivos directamente desde JavaScript.

Ejemplos prácticos de manipulación de URLs

Seguimiento de URLs de campañas

Puedes usar objetos URL para gestionar eficazmente las URLs de campañas, que a menudo se usan en marketing digital para rastrear el rendimiento de distintos esfuerzos de marketing:


Output appears here after Run.

Integración con Web APIs

Los objetos URL son esenciales al realizar solicitudes a Web APIs, ya que garantizan que las URLs estén correctamente formateadas y codificadas:


Output appears here after Run.

Alternativa moderna (async/await):

javascript
async function fetchPosts() {
  const apiUrl = new URL("https://jsonplaceholder.typicode.com/posts");
  apiUrl.searchParams.set("userId", "1");
  const response = await fetch(apiUrl);
  const data = await response.json();
  console.log(data[0]); // Outputs the first post by user with userId 1
}

Conclusión

El objeto URL de JavaScript es una herramienta robusta para manejar todos los aspectos de la manipulación y el análisis de URLs. Al dominar sus propiedades y métodos, los desarrolladores pueden agilizar la interacción de su aplicación web con las URLs, mejorando tanto la funcionalidad como la experiencia del usuario. Ya sea que estés gestionando estructuras complejas de URLs, integrándote con APIs o haciendo seguimiento de campañas de marketing, el objeto URL ofrece una forma fiable y eficiente de trabajar con direcciones web en JavaScript.

Practice

Which properties of the JavaScript URL object are used to parse specific components of a URL?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.