JavaScript Academy · Lektion

Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er

Identifiera körmiljön säkert (globalThis/window/global), kontrollera om fetch är tillgängligt och förstå varför filer kräver Node medan webbläsaren fokuserar på DOM och nätverk.

Lektion 1 av 38 steg

Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 1 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 3 lektioner.

Överblick

Mål: Förstå var koden körs.

  • Globala objekt: globalThis, window, global
  • fetch: detektera funktionen, anta inte att den finns
  • Filer: Node har fs, webbläsare har det inte
  • URL:er: URL fungerar i båda miljöerna
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 1

Säker kontroll av körningsmiljö

Använd kontroller med typeof för att undvika ReferenceErrors och ta reda på var koden körs.

// 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);
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 2

fetch: funktionsdetektering

Webbläsare har vanligtvis fetch, men äldre Node-versioner kanske inte har det. Kontrollera typeof fetch först.

// 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.");
}
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 3

Filer: Node jämfört med webbläsaren

Node tillhandahåller fs för filer, men webbläsaren gör det inte. Håll samma kodväg säker med en funktionskontroll.

// 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.");
}
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 4

Gemensamt: URL-API:t

Klassen URL tolkar adresser på ett enhetligt sätt i olika körningsmiljöer och är praktisk i små verktyg.

// 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);
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 5

Nybörjarvänliga vanor

Tips:

  • Kontrollera typeof fetch innan du använder det.
  • Filer kräver Node, till exempel fs; webbläsare fokuserar på DOM och nätverk.
  • Använd globalThis för portabla globala objekt.
  • Föredra små funktionskontroller framför att gissa körningsmiljön.
Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 6

Quiz: detektera fetch

Snabb kontroll: Detektera fetch på ett säkert sätt.

Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 7

Sammanfattning

Sammanfattning: Detektera körningsmiljön med säkra typeof-kontroller, kontrollera om fetch finns, kom ihåg att filer hanteras på Node-sidan och använd URL i båda miljöerna.

Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er — illustration 8
Gratis att börja

Lär dig JavaScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
59
Lektioner
200

Vanliga frågor

Är lektionen ”Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er”?

Identifiera körmiljön säkert (globalThis/window/global), kontrollera om fetch är tillgängligt och förstå varför filer kräver Node medan webbläsaren fokuserar på DOM och nätverk. Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?

Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.

Hur lång tid tar lektionen ”Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?

Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Globala objekt, tillgänglighet för fetch, fil- och nätverks-API:er
  2. ESM-laddarens egenheter och skillnader mellan sökvägar och URL:er
  3. Miljövariabler och konfigurationsmönster
← Tillbaka till JavaScript Academy