Globales, disponibilidad de fetch y APIs de archivos/red
Detecte el entorno de ejecución de forma segura (globalThis/window/global), compruebe la disponibilidad de fetch y comprenda por qué los archivos necesitan Node mientras el navegador se centra en el DOM y la red.
Globales, disponibilidad de fetch y APIs de archivos/red es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.
Visión general
Objetivo: saber dónde se ejecuta el código.
- Globales: globalThis, window, global
- fetch: detecte la funcionalidad, no la dé por supuesta
- Archivos: Node tiene fs; los navegadores no
- URL: funciona en ambos entornos

Detección segura del entorno de ejecución
Use comprobaciones con typeof para evitar ReferenceError y saber dónde se está ejecutando el código.
// Detect presence of common globals
const hasWindow = typeof window !== "undefined";
const hasGlobal = typeof global !== "undefined";
const hasProcess = typeof process !== "undefined" && process && typeof process.version === "string";
console.log("globalThis exists?", typeof globalThis !== "undefined");
console.log("window?", hasWindow);
console.log("global?", hasGlobal);
console.log("Node process?", hasProcess);

fetch: detección de funcionalidades
Los navegadores suelen tener fetch; las versiones antiguas de Node quizá no. Compruebe primero typeof fetch.
// Feature-detect fetch; do not assume it exists everywhere
const hasFetch = typeof fetch === "function";
console.log("fetch available?", hasFetch);
// If available, you could call fetch(...). For a safe demo we only log.
if (!hasFetch) {
console.log("Provide a fallback or use a library in Node versions without fetch.");
}

Archivos: Node frente al navegador
Node proporciona fs para trabajar con archivos; el navegador no. Mantenga segura la misma ruta de código mediante una comprobación de funcionalidades.
// Files are a Node concern; browsers cannot read your disk directly
const hasRequire = typeof require === "function";
console.log("CommonJS require available?", hasRequire);
// Safe message instead of real file I/O (keeps the demo runnable everywhere)
if (hasRequire) {
console.log("In Node you can use fs for files; in browsers you cannot.");
} else {
console.log("No require here; likely a browser-like or sandboxed runtime.");
}

Compartida: API URL
La clase URL analiza direcciones de forma coherente en distintos entornos de ejecución; resulta práctica para herramientas pequeñas.
// URL is available in both environments
const u = new URL("https://example.com/path?x=1#top");
console.log("host:", u.host);
console.log("pathname:", u.pathname);
console.log("search:", u.search);
console.log("hash:", u.hash);

Hábitos adecuados para principiantes
Consejos:
- Compruebe typeof fetch antes de usarlo.
- Los archivos requieren Node (por ejemplo, fs); los navegadores se centran en el DOM y la red.
- Use globalThis para acceder a globales de forma portable.
- Prefiera pequeñas comprobaciones de funcionalidades en lugar de adivinar el entorno.

Cuestionario sobre la detección de fetch
Comprobación rápida: detectar fetch de forma segura.

Resumen
Resumen: detecte el entorno de ejecución con comprobaciones seguras de typeof, detecte la funcionalidad fetch, recuerde que los archivos pertenecen al lado de Node y use URL en ambos entornos.

Preguntas frecuentes
¿La lección «Globales, disponibilidad de fetch y APIs de archivos/red» es gratis?
Sí — el texto completo de «Globales, disponibilidad de fetch y APIs de archivos/red» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Globales, disponibilidad de fetch y APIs de archivos/red»?
Detecte el entorno de ejecución de forma segura (globalThis/window/global), compruebe la disponibilidad de fetch y comprenda por qué los archivos necesitan Node mientras el navegador se centra en el… Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar JavaScript Academy?
No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Globales, disponibilidad de fetch y APIs de archivos/red»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?
Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Globales, disponibilidad de fetch y APIs de archivos/red
- Particularidades del cargador ESM y diferencias entre rutas y URL
- Variables de entorno y patrones de configuración