Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat
Tunnista suoritusympäristö turvallisesti (globalThis/window/global), tarkista fetchin saatavuus ja ymmärrä, miksi tiedostot tarvitsevat Noden, kun selain keskittyy DOMiin ja verkkoon
Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Kokonaiskuva
Tavoite: Tietäkää, missä koodinne suoritetaan.
- Globaalit: globalThis, window, global
- fetch: tunnistakaa ominaisuus, älkää olettako sen olemassaoloa
- Tiedostot: Nodessa on fs, selaimissa ei
- URL-osoitteet: URL toimii molemmissa

Suoritusympäristön turvallinen tunnistus
Käyttäkää typeof-tarkistuksia ReferenceError-virheiden välttämiseksi ja selvittääksenne, missä koodinne suoritetaan.
// 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: ominaisuuden tunnistus
Selaimissa on yleensä fetch, mutta vanhemmissa Node-versioissa sitä ei välttämättä ole. Tarkistakaa ensin 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.");
}

Tiedostot: Node ja selain
Node tarjoaa tiedostojen käsittelyyn fs-moduulin, mutta selain ei. Pitäkää sama koodipolku turvallisena ominaisuustarkistuksella.
// 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.");
}

Jaettu: URL-rajapinta
URL-luokka jäsentää osoitteet yhdenmukaisesti eri suoritusympäristöissä, joten se sopii pieniin työkaluihin.
// 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);

Aloittelijaystävälliset käytännöt
Vinkit:
- Tarkistakaa typeof fetch ennen sen käyttöä.
- Tiedostot vaativat Noden (esimerkiksi fs); selaimet keskittyvät DOM:iin ja verkkoon.
- Käyttäkää globalThis-oliota siirrettäviin globaaleihin arvoihin.
- Suosikaa pieniä ominaisuustarkistuksia ympäristön arvailemisen sijaan.

fetch-tunnistuksen tietovisa
Pikatarkistus: tunnista fetch turvallisesti.

Kertaus
Kertaus: Tunnistakaa suoritusympäristö turvallisilla typeof-tarkistuksilla, tunnistakaa fetch ominaisuustarkistuksella, muistakaa tiedostojen olevan Node-puolella ja käyttäkää URL-rajapintaa molemmissa ympäristöissä.

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 59
- Oppitunnit
- 200
Usein kysytyt kysymykset
Onko oppitunti ”Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat”?
Tunnista suoritusympäristö turvallisesti (globalThis/window/global), tarkista fetchin saatavuus ja ymmärrä, miksi tiedostot tarvitsevat Noden, kun selain keskittyy DOMiin ja verkkoon Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?
Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Globaalit, fetchin saatavuus sekä tiedosto- ja verkkorajapinnat
- ESM-lataajan erikoisuudet ja polkujen sekä URL-osoitteiden erot
- Ympäristömuuttujat ja konfiguraatiomallit