---
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.
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.