Hva er JS-filformatet?
.js-filer lagrer kildekode skrevet i programmeringsspråket JavaScript. .js-kode kan bygges inn på nettsteder og brukes til å verifisere inndata, manipulere nettleservinduer eller bygge interaktive bildegallerier. Selv om JavaScript startet hovedsakelig som en front-end-teknologi, kjører det nå også på serversiden gjennom kjøremiljøer som Node.js, Deno og Bun, noe som gjør det til et full-stack-språk. JavaScript-kode kan lagres direkte i HTML-filer, men en slik praksis begrenser portabiliteten. Den vanligste løsningen er å bruke dedikerte .js-filer som kan gjenbrukes på tvers av mange nettsteder eller prosjekter.
JavaScript-kode krever ikke en Java virtuell maskin for å bli utført. JavaScript er ikke relatert til programmeringsspråket Java på noen måte - bare navnet er likt. .js-kode er ikke beskyttet mot innsyn fra brukere; kildekoden er lesbar i alle tekstredigeringsprogrammer eller nettleserens DevTools. Mange .js-filer er fritt tilgjengelige for allmennheten og kan brukes gratis på nettsteder. Kode i fritt lisensierte .js-filer kan redigeres og redistribueres under åpen kildekode-vilkår.
Moderne JavaScript støtter to modulsystemer: ES-moduler (som bruker import/export, også distribuert som .mjs-filer) og CommonJS (som bruker require/module.exports). Data som utveksles mellom skript og servere lagres vanligvis som JSON. Prosjekter som trenger statisk typesjekking bruker TypeScript, et typet oversett som kompileres tilbake til .js.
Sikkerhet og trygghet
RISIKO: HIGHI en nettleser kjører JavaScript i en sandkasse og er relativt trygt. Faren er på Windows: dobbeltklikk på en løs .js-fil kjører den gjennom Windows Script Host (WSH) med de fulle rettighetene til kontoen din - ingen sandkasse. Ondsinnede .js-vedlegg (ofte inne i ZIP-filer, noen ganger navngitt faktura.js / dokument.js) er en kjent metode for å levere løsepengevirus og trojanere. Regler: aldri dobbeltklikk på en .js du har mottatt via e-post eller nedlasting; åpne den i et tekstredigeringsprogram først for å lese den; hold filendelser i Windows synlige slik at en «bilde.jpg.js» ikke kan skjule seg. På nettet bør du bare laste skript fra kilder du stoler på og bruke Subresource Integrity (SRI)-hasher for tredjepartsskript.
Formatdetaljer
i et nøtteskall- JScript / Windows Script Host-skript - På Windows vil et dobbeltklikk på .js kjøre i WSH (cscript/wscript) med full systemtilgang - en klassisk vektor for skadevare, ikke en sandkasse i nettleseren.
- JACOsub / JetScript / Netscape-konfigurasjon (foreldet) - Gammel dokumentasjon listet .js for JACOsub-undertekstskript og Netscape-innstillinger; foreldet og i praksis ubrukt i dag.
Programmer som åpner JS-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | text/javascript (primær); også application/javascript, text/ecmascript, application/ecmascript |
| Tekstkoding | UTF-8 (påkrevd for ES-moduler og weblevering); eldre filer kan være ASCII eller Latin-1 |
| Filsignatur (magic bytes) | Ingen - ren tekst-format; identifisert av .js-etternavnet og innholdet, ikke header-bytes |
| Beholderformat | Ren tekst - menneskelig lesbare instruksjoner, funksjoner og uttrykk som utføres fra topp til bunn |
| Modulsystemer | ES-moduler (import/export) og CommonJS (require/module.exports); avgjøres via «type»-feltet i package.json |
| Kjøremiljøer | Alle store nettlesere (Chrome V8, Firefox SpiderMonkey, Safari JavaScriptCore) og server-kjøremiljøer (Node.js, Deno, Bun) |
| Typisk kildestørrelse | 1 KB til noen få hundre KB per fil; produksjonspakker kan nå flere MB |
| Produksjonslevering | Minifisert (fjerning av mellomrom og forkorting av identifikatorer), deretter gzip- eller Brotli-komprimert for HTTP-overføring |
| Integritetsverifisering | Subresource Integrity (SRI) - sha256/sha384/sha512-hash i HTML-attributtet <script integrity="..."> |
| Språkparadigme | Multiparadigme: prototypebasert objektorientert, funksjonelt og hendelsesdrevet |
| Skille mellom filtyper | .mjs (eksplisitt ES-modul), .cjs (eksplisitt CommonJS), .jsx (React JSX-syntaks), .ts (TypeScript-oversett) |
| Kildesynlighet | Kilden er alltid menneskelig lesbar; obfuskering er kosmetisk, ikke kryptografisk beskyttelse |
| Standardiseringsorgan | Ecma International (TC39-komiteen) - ECMA-262-standard; ny utgave publiseres årlig |
| Shebang-støtte | Filer på serversiden kan begynne med #!/usr/bin/env node for å kjøre direkte som et skallskript |
| Kildekart (source maps) | Minifiserte filer kobles med .map-filer (JSON) for å koble kompilert utdata tilbake til de originale kildelinjene |
| Utgitt | 1995 (Netscape Navigator 2.0); ECMA-262 1st edition 1997 |
| Siste versjon | ECMAScript 2025 (ES2025 / 16th edition); language is updated yearly |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | tc39.es |
JS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om JS-filer.