--- title: JavaScript slug: Web/JavaScript translation_of: Web/JavaScript ---
{{JsSidebar}}

JavaScript (JS) on kevyt, tulkattu, tai juuri-ajallaan käännetty ohjelmointikieli, joka pitää funktioita "ensimmäisen luokan kansalaisina". Vaikka se tunnetaan parhaiten verkkoselaimessa toimivana skriptauskielenä, sitä käyttävät myös monet ei-selainpohjaiset ympäristöt, kuten Node.js, Apache CouchDB ja Adobe Acrobat. JavaScript on  prototyyppipohjainen, yksisäikeinen, dynaaminen ohjelmointikieli, joka tukee monia eri ohjelmintitapoja, kuten olio-ohjelmointi-, imperatiivista sekä funktionaalista ohjelmointityyliä. Lue lisää JavaScriptistä.

Tämä osa on omistettu pelkästään JavaScriptille ohjelmointikielenä huomioimatta ominaisuuksia, jotka ovat eritysiä verkkosivuille tai muille ajoympäristöille. Tarkempaa tietoa selainten ohjelmointirajapinnoista, joita käytetään verkkosivujen kehittämisessä löytyy Web API- ja DOM-osioista.

JavaScriptin käyttämä standardi on ECMAScript. Vuodesta 2012 lähtien kaikki modernit selaimet tukevat täysin ECMAScript 5.1:tä ja sitä vanhemmat selaimet tukevat vähintään ECMAScript 3:sta. 17. kesäkuuta 2015 ECMA International julkaisi kuudennen version ECMAScriptistä, jonka virallinen nimitys on ECMAScript 2015, tätä kutsuttiin alunperin ECMAScript 6 tai ES6:ksi. Siitä lähtien, ECMAScript-standardia on päivitetty vuosittain. Tämä dokumentaatio viittaa tämänhetkiseen vedokseen, mikä on tällä hetkellä ECMAScript 2020.

JavaScriptiä ei kannata sekoittaa Java-ohjelmointikieleen. Molemmat "Java" ja "JavaScript" ovat Oraclen tuotemerkkejä Yhdysvalloissa ja muissa maissa, mutta siitä huolimatta näillä kahdella ohjelmointikielellä on hyvin erilainen syntaksi, semantiikka ja käyttökohteet.

Oppaita

Opi JavaScriptiä oppaiden avulla.

Aloittelijoille

Suuntaa JavaScriptin opiskeluosioon jos haluat oppia JavaScriptiä mutta sinulla ei ole aikaisempaa kokemusta JavaScript-ohjelmoinnista. Sieltä löydät seuraavat itseopiskelumoduulit:

JavaScript-ensiaskeleet
Tämä osio vastaa kysymyksiin "mitä JavaScript on?", "miltä se näyttää" ja "mitä sillä voi tehdä?". Samalla kuvataan myös kielen perusominaisuudet kuten muuttujat ja erilaiset perustietotyypit.
JavaScript-osakokonaisuudet
Jatkaa JavaScriptin perustavien ominaisuuksien läpikäymimistä ja esittelee yleisimmät ohjausrakenteet kuten ehdolliset lausunnot, silmukat, funktiot ja tapahtumat.
Esittelyssä JavaScript-oliot
On tärkeää ymmärtää JavaScriptin oliopohjainen luonne jos haluat ymmärtää JavaScriptiä paremmin ja kehittyä taidoissasi kirjoittaa tehokasta JavaScript-koodia.
Asynkroninen JavaScript
Mitä on asynkroninen JavaScript, miksi se on tärkeää ja kuinka sitä voidaan käyttää tehokkaasti, esimerkiksi pitämällä suoritussäie vapaana suorittaessa säikeen pysäyttäviä operaatioita kuten noudettaessa resursseja verkkopalvelimelta.
Käyttäjäpuolen web ohjelmointirajapinnat (API:t)
Mitä API:t ovat ja kuinka käyttää joitain kaikista yleisimmistä API:sta, joihin törmätään yleisesti web-kehityksessä.

JavaScript-opas

JavaScript-opas
Yksityiskohtaisempi opas JavaScript-ohjelmointikieeleen, joka on suunnattu lukijoille, joilla on aikaisempaa kokemusta ohjelmoinnista, jollain muulla ohjelmointikielellä.

Keskitaso

JavaScript uudelleen esiteltynä
Yleiskatsaus heille, jotka luulevat tuntevansa JavaScriptin.
JavaScript-tietorakenteet
Yleiskatsaus JavaScriptin tietorakenteista.
Yhtä kuin -vertailu ja samankaltaisuus
JavaScript tarjoaa kolme erilaista arvonvertailuoperaattoria: tiukka yhdenvertaisuus ===-operaattoria käyttämällä, väljä yhdenvertaisuus ==-operaattoria käyttämällä sekä {{jsxref("Global_Objects/Object/is", "Object.is()")}}-metodi.
Sulkeumat

Sulkeuma on yhdistelmä funktiota sekä kirjoitusympäristöä, jossa kyseinen funktio määriteltiin.

Edistyneet

Periytyminen ja prototyyppiketjut
Kuvaus laajasti väärinkäsitetystä ja aliarvioidusta prototyyppipohjaisesta periytymismallista.
Strict-tila
Strict-tila määritelee sen, että muuttujia ei pysty käyttämään ennen kuin ne ovat alustettu. Se on rajoitettu variaatio ECMAScript 5:stä, jolla on parempi suorituskyky ja jota on helpompi "debugata".
JavaScriptin tyypitetyt taulukot
JavaScriptin tyypitetyt taulukot mahdollistavat pääsyn raakaan binääridataan.
Muistinhallinta
Muistin elämänkaari ja roskien keruu JavaScriptissä.
Samanaikaisuusmalli ja tapahtumasilmukka
JavaScriptin samankaltaisuusmalli perustuu "tapahtumasilmukkaan".

Viite

Selaa täydellistä JavaScript-viitedokumentaatiota.

Vakio-oliot
Tutustu vakiona sisäänrakennettuihin olioihin {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}}, {{jsxref("WeakSet")}} sekä muihin.
Expressions and operators
Learn more about the behavior of JavaScript's operators {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}}, the operator precedence, and more.
Statements and declarations
Learn how {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}}, and more JavaScript statements and keywords work.
Funktiot
Opi työskentelemään JavaScriptin funktioiden kanssa kehittääksesi sovelluksiasi.

Työkalut & resurssit

Helpful tools for writing and debugging your JavaScript code.

Firefox Developer Tools
Web Console, JavaScript Profiler, Debugger, and more.
JavaScript Shells
A JavaScript shell allows you to quickly test snippets of JavaScript code.
TogetherJS
Collaboration made easy. By adding TogetherJS to your site, your users can help each other out on a website in real time!
Stack Overflow
Stack Overflow questions tagged with "JavaScript".
JavaScript versions and release notes
Browse JavaScript's feature history and implementation status.
JSFiddle
Edit JavaScript, CSS, HTML and get live results. Use external resources and collaborate with your team online.
Plunker
Plunker is an online community for creating, collaborating on and sharing your web development ideas. Edit your JavaScript, CSS, HTML files and get live results and file structure.
JSBin

JS Bin is an open source collaborative web development debugging tool.

Codepen

Codepen is another collaborative web development tool used as a live result playground.

StackBlitz

StackBlitz is another online playground/debugging tool, which can host and deploy full stack applications using React, Angular, etc.