stanford-oval/wikipedia huggingface dataset:
Mercer Ellington
Kirjallisuutta

Mercer Ellington: Duke Ellington in Person: An Intimate Memoir.  Da Capo Press, 1979.  ISBN 978-0-306-80104-4  (englanniksi)
Duke Ellington
| --- | --- |
Albumit:  ...And His Mother Called Him Bill
Kappaleet:   ”Blood Count”  ”Caravan”  ”Chelsea Bridge”  ”In a Sentimental Mood”  ”It Don’t Mean a Thing (If It Ain’t Got That Swing)”  ”Lush Life”  ”Mood Indigo”  ”Prelude to a Kiss”  ”Perdido”  ”Satin Doll”  ”Solitude”  ”Something to Live For”  ”Take the ’A’ Train”  ”Things Ain’t What They Used to Be” 
Soittajat:   Harold Ashby  Louie Bellson  Jimmy Blanton  Mercer Ellington  Otto Hardwick  Al Hibbler  Johnny Hodges  Herb Jeffries  Oscar Pettiford  Billy Strayhorn  Billy Taylor  Clark Terry  Juan Tizol  Ben Webster 
| Auktoriteettitunnisteet  |
| --- | --- |
Kansainväliset:  FAST  ISNI  VIAF  WorldCat 
Kansalliset:  Norja  Espanja  Ranska  BnF data  Saksa  Israel  Suomi (KANTO)  Yhdysvallat  Tšekki  Australia  Alankomaat  Puola 
Tieteilijät:  CiNii 
Taiteenala:  Discography of American Historical Recordings  Grammy Awards  MusicBrainz 2 
Henkilöt:  DDB  Trove 
Muut:  Europeana  NARA  SNAC  IdRef
Ellos

Ellos on ruotsalainen postimyyntiyritys, jonka pääkonttori ja varasto ovat Boråsissa. Yrityksen perusti ruotsalainen Olle Blomqvist vuonna 1947. Toiminta laajeni Norjaan vuonna 1983, Suomeen vuonna 1987, Tanskaan vuonna 1995 ja Islantiin vuonna 2006. Ranskalainen suuryritys Pinault-Printemps-Redoute (nykyisin Kering) osti Elloksen vuonna 1997. 1980- ja 1990-luvun vaihteessa Ellos oli muutamia vuosia päivittäistavarajätti ICA:n omistuksessa yhdessä Gulins- ja Lindex-vaateketjujen kanssa, mutta ICA luopui näistä pian ja keskittyi taas ruokakauppabisnekseen.
Vuodesta 2010 lähtien Ellos on laajentanut toimintaansa kulutusluottoihin, joiden käyttökohdetta ei ole sidottu Elloksen tuotteisiin. Ellos-lainojen rahoittajana toimii suomalainen Finaref Oy.
Elloksen omistaa tätä nykyä ruotsalainen Nordic Capital -pääomasijoitusyhtiö. Nordic Capitalin omistukseen kuuluvat muun muassa myös Tokmanni, Norjassa Europris sekä Tanskassa Sport-Master.
Aiheesta muualla

Elloksen kotisivut (ruotsiksi)
Elloksen suomenkieliset sivut
K. A. Jokinen

A. ”Arviiti” Jokinen oli Suomen sisällissotaan osallistunut sotilasjohtaja. Hän oli Kurun punakaartin päällikkö Suomen sisällissodassa, kotoisin Kurusta (ennen sisällissotaa asunut Yhdysvalloissa). Hänen johdollaan Kurun punakaarti taisteli mm. Tampereen Aitolahdessa ja Sääksjärven pysäkillä.
Jokinen vältti teloituksen Tampereen antauduttua, toisin kuin toinen veljensä, joka ammuttiin Messukylässä.
Sodan jälkeen Jokinen pakeni Yhdysvaltoihin.
Unto Elo

Unto Kalevi Elo (s. 29. marraskuuta 1944 Helsinki) on suomalainen rata- ja maratonmeloja.
Elo edusti Suomea Montréalin 1976 olympialaisissa. Hän karsiutui keräilyerissä kajakkinelosten 1 000 metrillä, jossa hänen kanssaan meloivat Ilkka Nummisto, Eero Hynninen ja Heikki Mäkelä. MM-kilpailuissa Elo sijoittui kajakkinelosten 10 000 metrillä seitsemänneksi vuonna 1975.
Seuratasolla 175-senttinen ”Unski” Elo edustaa Merimelojia, minkä lisäksi hän on aikaisemmin edustanut Canoaa ja Marjaniemen Melojia. Elo voitti yhteensä 34 Suomen-mestaruutta vuosina 1969–1988. Hän on menestynyt myös ikämiessarjoissa ja voitti 55-vuotiaiden maratonmelonnan maailmanmestaruuden vuonna 1999. lähde?
JavaScript

| JavaScript |
| --- | --- |
Paradigma:  monia: olio-ohjelmointi (prototyyppipohjainen), imperatiivinen, funktionaalinen
Tyypitys:  heikko, dynaaminen
Yleinen suoritusmalli:  tulkattava
Muistinhallinta:  automaattinen
Julkaistu:  4. joulukuuta 1995
Suunnitellut:  Brendan Eich
Kehittäjä:  alun perin Netscape, nykyään Ecma International
Vakaa versio:  ECMAScript 2024
Merkittävimmät toteutukset:  V8, SpiderMonkey, JavaScriptCore, Chakra
Vaikutteet:  C, Java, Perl, Python, Scheme, Self
Vaikuttanut:  TypeScript, Dart, Haxe, CoffeeScript, QML, Objective-J, LiveScript, JScript .NET, ActionScript
Käyttöjärjestelmä:  alustariippumaton
Uutisryhmä:  comp.lang.javascript
JavaScript on alun perin Netscapen kehittämä, pääasiassa verkkoympäristössä käytettävä ohjelmointikieli.
JavaScript on dynaamisesti ja heikosti tyypitetty, tulkattava, oliopohjainen komentosarjakieli, jonka syntaksi perustuu löyhästi C-ohjelmointikieleen. Kielen semantiikka ja suunnittelu on saanut vaikutteita Self- ja Scheme-ohjelmointikielistä. Java on ollut merkittävä osa JavaScriptin kehitystä. JavaScript on saanut vaikutteita muun muassa sen syntaksista ja standardikirjastosta. Math- ja Date-oliot perustuvat Java 1.0:n luokkiin ja niitä voidaan hyödyntää myös JavaScriptissä. Kaikesta huolimatta JavaScript ja Java eroavat toisistaan niin paljon, että niitä ei pitäisi sekoittaa toistensa kesken, vaan kuuluisi kohdella täysin eri kokonaisuuksina.
Web-kehitykseen käytetään usein JavaScriptiin perustuvia ohjelmistokehyksiä (esim. Svelte, AngularJS ja Next.js), käyttöliittymäkirjastoja (kuten React) sekä JavaScriptin laajennoksia ja JavaScriptiksi käännettäviä (engl. transpiler) kieliä kuten JSX ja TypeScript – ei niinkään natiivia JavaScriptiä suoraan. JavaScriptiä ei tule sekoittaa Java-kieleen; nimi on peräisin Netscapen ja Javan kehittäneen Sunin lisenssisopimuksesta ja pyrkimyksestä markkinoida JavaScriptistä Javan "apukieli". Kielen standardin virallinen nimi on ECMAScript.
JavaScript-tiedoston ikoni.
Historia

JavaScriptin kehitti alun perin Netscapen Brendan Eich nimellä Mocha. Nimi muutettiin LiveScriptiksi ja viimein markkinointisyistä JavaScriptiksi Netscapen liittouduttua Java-kielen kehittäneen Sun Microsystemsin kanssa. JavaScript on kuitenkin Java-ohjelmointikielestä eroava tekniikka. JavaScript tuli käyttöön Netscape Navigator 2.0 -selaimessa maaliskuussa 1996.
JavaScriptin suosion ansiosta Microsoft kehitti siitä yhteensopivan version, jolle se antoi tavaramerkkisyistä nimen JScript. Tämä toiminnallisuus lisättiin Internet Explorerin versioon 3.0, joka julkaistiin elokuussa 1996. Microsoft aloitti JScriptin standardoinnin Ecma International -järjestössä. Ensimmäinen versio standardista julkaistiin kesäkuussa 1997.
2000-luvun alussa Internet Explorerin hallitessa selainten välistä kilpailua, asiakaspuolen skriptaus oli pysähtynyt. Tähän alkoi kuitenkin näkymään muutosta vuodesta 2004 eteenpäin, kun Netscapen seuraaja Mozilla julkaisi Firefox-selaimen. Firefox sai paljon hyvää vastaanottoa ja vei merkittävän markkinaosuuden Internet Explorerilta.lähde?
Google esitteli Chrome-selaimensa vuonna 2008, jossa oli V8 JavaScript -moottori, joka oli nopeampi kuin kilpailijansa. Tärkein innovaatio oli just-in-time -kääntäminen (JIT), joten muut selainten valmistajat joutuivat uudistamaan moottoreitaan kilpaillakseen JIT:in kanssa.lähde?
Heinäkuussa 2008 eri osapuolet kokoontuivat konferenssiin Oslossa. Tämä johti lopulta sopimukseen yhdistää kaikki asiaankuuluvat työt ja ajaa kieltä eteenpäin. Tuloksena oli ECMAScript 5 -standardi, joka julkaistiin joulukuussa 2009.
Kunnianhimoinen työ ohjelmistokielen parissa jatkui muutamia vuosia, joka kulminoitui laajaan kokoelmaan erilaisia lisäyksiä ja hienosäätöjä. Tämä formalisoitiin ECMAScript 6:n julkaisulla vuonna 2015.lähde?
Käyttöaiheet

JavaScriptin tärkein sovellus on mahdollisuus lisätä verkkosivuille dynaamista toiminnallisuutta. Sitä käytetään tavallisimmin osana verkkoselaimia, joiden toteutukset sallivat asiakaspuolen skriptien interaktion käyttäjän kanssa, selaimen rajoitetun hallinnan, asynkronisen kommunikaation ja käyttäjälle näytettävän dokumenttisisällön muokkaamisen. JavaScriptin käyttö on yleistynyt sen yksinkertaisuuden, joustavuuden, monipuolisten lisäosien ja tehokkuuden vuoksi myös palvelinpuolella, jolloin sitä voidaan käyttää esimerkiksi Node.js -ajoympäristössä. Lisäksi ohjelmointikieltä käytetään pelien kehityksessä sekä työpöytä- ja mobiilisovellusten luomisessa.
Ominaisuudet > Tyypit

JavaScript on heikosti tyypitetty, mikä tarkoittaa, ettei käytössä olevia tietorakenteita erikseen määritellä ja JavaScript pyrkii yleensä muuttamaan tyyppejä automaattisesti virheen nostamisen sijaan. Esimerkiksi taulukko voi kehittyä oliomaiseksi muuttujarakenteeksi ja kokonaisluvun ja liukuluvun eroja ei tarvitse välttämättä miettiä.
JavaScriptin primitiiveihin kuuluvat Boolean, null, undefined, Number, String, BigInt, Symbol ja Object. Tyypitys on dynaaminen ja ajonaikaiset tyyppimuunnokset ovat tavallisia. Literaaleihin kuuluvat tekstiliteraalit "string", taulukkoliteraalit [1, 2, 3, /* tyhjä */, 5, ], Boolen literaalit true ja false, numeeriset literaalit kuten 10, 3.14 ja 1.5e-9, objektiliteraalit kuten { nimi: "Arvo", "taulukko": [1, 2, 3], teeJotain() { ... }, }, regex-literaalit /[A-Z]+/ ja mallineet `Hei, ${nimi}!'\n'`.
Ominaisuudet > Funktiot

Funktio määritellään deklaraatiosyntaksilla function teeJotain(x) { ... } tai lausekkeena var teeJotain = function (x) { ... };. Lausekesyntaksi on tavallinen, kun funktiota on tarkoitus käyttää toisen funktion parametrina. Nimettömiin lambdafunktioihin käytetään fat arrow-syntaksia (x) => x.length tai yksinkertaisesti function () { ... }. Välittömästi kutsuttu nimetön funktio voi olla myös (function () { ... })();. Funktion sisänäkymässä on käytössä erityinen arguments-taulukko, joka sisältää järjestyksessä kaikki funktiolle annetut parametrit. Vastaavasti ylimääräisten parametrien kaappaamiseen voidaan käyttää ...nimi-syntaksia tyylillä function nimi(x, ...y) { ... }. Jos taas määritettyjä argumentteja ei anneta, niiden arvo on undefined tai oletusarvo function nimi(x = "oletus") { ... }. Funktioiden käyttö on sallittua ennen niiden määritelmiä (engl. function hoisting), jos funktio on määritelty deklaraatiotyylillä.
Ominaisuudet > Lauseet

Muuttuja määritellään var (funktionäkymä, muuttuva), let (blokkinäkymä, muuttuva) ja const (blokkinäkymä, muuttumaton) avainsanoilla. JavaScript ei kuitenkaan edellytä näitä vaan luo avainsanan puuttuessa alustamattoman globaalin muuttujan. Tällainen joustavuus on kielelle tyypillistä. var-sanalla määriteltyjen muuttujien käyttö on myös sallittua ennen määrittelyä, mutta niiden arvo on tällöin undefined (engl. variable hoisting). Destrukturointi on mahdollista tyylillä let [eka, toka, kolmas] = teeJotain(input);.
Lauseet erotellaan puolipisteillä (mutta tämä ei ole pakollista yksirivisissä lauseissa). Lauseisiin kuuluvat myös
blokkilauseet { ... }
if-else-lause if (...) { ... } else if (...) { ... } else { ... } (undefined, null, 0, NaN ja "" tulkitaan olevan false; kaikki muut arvot tulkitaan olevan true)
switch-lause switch (x) { case y: ...; case z: ...; default: ...; }
poikkeustenhallinnan throw ja try { ... } catch (e) { ... } finally { ... }
for-silmukka for (let x = 0; x < 10; x++) { ... }
for-in-silmukka for (x in y) { ... }, missä y on ominaisuuksia sisältävä objekti ja x ominaisuuden nimi
for-of-silmukka for (x of y) { ... }, missä y on iteroitava objekti ja x on arvo
do-while-silmukka do { ... } while (...);
while-silmukka while (...) { ... }
Operaattoreita ovat
sijoitusoperaattori = ja tämän päivittävät versiot kuten += ja ehdolliset versiot kuten &&= (true) ja ??= (null)
vertailuoperaattorit kuten heikkoyhtäläisyys == ja vahva (sama tyyppi) yhtäläisyys ===
aritmeettiset operaattorit kuten jakojäännös x % y ja inkrementointi ++x
bittioperaattorit kuten ja & ja ei ~
loogiset operaattorit kuten ja &&, tai ||, ei ! ja ?? (null tai undefined)
ehto-operaattori x ? y : z
delete, typeof, void, in, instanceof, new
ryhmittely ( ... )
Ominaisuudet > Modularisointi

JavaScript-moduulissa käytetään export-lausetta kuten export { muuttuja, nimi, funktio, Luokka }; ja nämä jaetut objektit tuodaan uuteen globaaliin näkymään tyylillä import { muuttuja, funktio } from "./polku/moduuli.js". HTML-tiedostossa tulee tällöin käyttää type-attribuuttia <script type="module" src="..."></script>. Nimetyn viennin sijaan voidaan myös käyttää export default nimi;. Jos taas halutaan vaihtaa tuotujen objektien nimiä, voidaan käyttää as-avainsanaa tyylillä import { funktio as f, nimi as n } from "./polku/moduuli.js";. Useat tuodut objektit voidaan myös laittaa moduuliobjektiin tyylillä import * as Moduuli from "./polku/moduuli.js";. Vienti voidaan myös merkitä avainsanalla await, jolloin moduulin tuonti ei estä muita prosesseja, jotka eivät riipu tästä await-moduulista. Moduulit on parasta kehittää niin, että ne toimivat eri ajoympäristöissä (web-selain, Node.js). Globaalit muuttujat ovat yhden globaalin objektin ominaisuuksia, kuten web-selaimessa window.muuttuja. Funktiot ja blokkilauseet (engl. block statement) luovat paikallisia näkymiä ja globaalit nimet näkyvät kaikkialle.
Ominaisuudet > Olio-ohjelmointi

JavaScriptin oliomallin perusyksikköjä ovat object- ja function-oliot. Oliomalli ja sen enkapsulaatio ja periytyvyys pohjautuvat prototyyppeihin, ei luokkiin kuten useimmissa olio-ohjelmointikielissä (esim. Smalltalk, C++, Java, Ruby).
Koska JavaScript on prototyyppipohjainen kieli, olioiden luominen ei edellytä luokkia. Oliot voidaan rakentaa suoraan "tyhjästä" tai jonkin toisen olion prototyypin pohjalta. Prototyypit tukevat siis eräänlaista versiota perinnästä, joka on tärkeä käsite luokkapohjaisissa kielissä, kuten Javassa. Jokaisella JavaScript-oliolla on sisäänrakennettuna ominaisuutena jokin prototyyppi. Prototyypit ovat myös olioita ja näin myös prototyypeillä on omat prototyyppinsä. Tästä muodostuu ns. prototyyppiketju, joka jatkuu niin pitkään kunnes päästään olioon, jonka prototyyppi on null. Tämä muistuttaa hieman perintäketjua luokkapohjaisissa kielissä. Kun olion attribuuttia referoidaan esim. olio.ominaisuus, sen arvo haetaan prototyyppiketjusta tai arvon puuttuessa palautetaan undefined.
Objektit voivat periä ominaisuudet. prototyypiltä __proto__-syntaksilla const o = { __proto__: prototyyppi, muuttuja: 10, }; tai funktiokonstruktorin avulla function Konstruktori(x) { ... } ja Konstruktori.prototype.metodi = function() { ... };. this-avainsana mahdollistaa objektiin viittaamisen tämän metodin sisällä ja super-syntaksi mahdollistaa vastaavasti objektin prototyyppiin/vanhempaan viittaamisen. Konstruktoria kutsutaan käyttämällä new-avainsanaa funktiokutsun edellä esim. const auto = new Auto("Toyota", 2007);. Vaihtoehtoisesti voidaan käyttää Object.create-metodia ja prototyyppiobjektia.
Prototyyppijärjestelmän päälle JavaScriptiin on myös kehitetty perinteisempi luokkajärjestelmä. Uusi luokka määritellään syntaksilla class Nimi { constructor() { ... } nimi2 = 1; static nimi2 = 2; metodi() { ... } #nimi3 = 3; }. static merkitsee luokkaominaisuuden ja # yksityisen ominaisuuden. Luokasta tehdään instanssi new-avainsanalla const i = new Nimi();. Luokat sallivat myös aksessorikentät lisäämällä erityiset metodit get ominaisuus() { return ...; } ja  set ominaisuus(x) { ... }. Periminen onnistuu class Luokka extends Yläluokka { ... }.
Ominaisuudet > Tiedostot

JavaScript-tiedostojen tiedostoliite on yleensä .js.
JSON-tiedostomuoto (engl. JavaScript Object Notation) perustuu JavaScriptin tietorakenteisiin, mutta sitä käytetään muissakin ohjelmointikielissä. Esimerkiksi web-sovelluksissa JSON on yleinen tiedonsiirtomuoto.
JavaScript-tiedostojen MIME-tyyppi on application/javascript tai virallisesti vanhentunut text/javascript (RFC 4329). Jälkimmäinen on kuitenkin edelleen käytössä.
Ominaisuudet > Muut

Uusi iteraattori voidaan luoda tekemällä objekti, jolla on next-metodi, joka palauttaa value ja done ominaisuudet sisältävän objektin. Generaattori on erityinen iteraattori, joka määritellään yksinkertaisemmalla syntaksilla mallia function* teeIteraattori(x) { ... yield index; ... }. Iteroitavalla objektilla on oltava Symbol.iterator-metodi. Sisäänrakennettuja iteroitavia objekteja ovat String, Array, TypedArray, Map ja Set.
Promise on objekti joka edustaa asynkronisesti laskettua tulosta ja siihen voidaan liittää ns. callback-funktioita then, catch, all, resolve, reject ... metodien avulla.
Kommentit ovat // Yksi rivi tai /* Useita riviä */. JavaScriptille ei ole yksittäistä tyyliä tai syntaksia sanelevaa ohjetta – yleensä mainitaan Crockfordin, Googlen tai Yahoon tyylioppaat.
Turvallisuus

Jotkut käyttäjät päätyvät poistamaan selaimistaan JavaScript-tuen erinäisistä syistä. JavaScriptiä käytetään verkkosivujen toiminnallisuuden rakentamiseen, mikä tarkoittaa sitä että sillä on myös lukuisia epämieluisia käyttökohteita. JavaScriptillä voi saada aikaan ärsyttäviä toimintoja, kuten popup-mainoksia, sitä voidaan käyttää sivuilla vierailevan käyttäjän seuraamiseen, JavaScriptillä toteutetut elementit saattavat hidastaa selaamiseen käytettyä laitetta sekä pahimmillaan aiheuttaa käyttäjälle turvallisuusriskin.
Yleisin turvallisuushuoli JavaScriptiin liittyen on niin kutsuttu Cross-site scripting (XSS). Nämä XSS lyhenteellä tunnetut hyökkäykset saattavat aiheuttaa verkkosivun käsittelemän tiedon laadusta riippuen ongelmia pienestä harmista aina suuriin taloudellisiin tappioihin. Hyökkäyksen perustana on haavoittuvaiselle verkkosivulle istutettu koodi, jonka tavoitteena on usein varastaa sivustolla vierailevien käyttäjien tietoja. Useimmiten XSS hyökkäykset käyttävät JavaScriptiä, minkä vuoksi tuen estäminen voi olla tehokas työkalu hyökkäysten torjumiseksi.
Käytäntö ei ole yleinen, vain noin 0.2% internetin käyttäjistä maailmanlaajuisesti on estänyt JavaScriptin selaimestaan. Yleisin selain, jossa JavaScript on estetty on pimeän verkon selaamiseen usein käytetty Tor-selain, jonka käyttäjistä 10.5% on estänyt JavaScriptin. Yleisin maa, jossa JavaScript on estettynä, on Taiwan, jossa 2.3% käyttäjistä on estänyt JavaScriptin selaimistaan. Euroopassa eniten JavaScriptin estäneitä käyttäjiä löytyy Suomesta, jossa se on estettynä prosentilla käyttäjistä.
Toteutukset

Eurooppalainen tieto- ja viestintäjärjestelmien standardointiyhdistys Ecma International on luonut JavaScript-kielestä standardoidun version, jota kutsutaan nimellä ECMAScript. Se on määritelty järjestön standardissa ECMA-262, jonka myös ISO on hyväksynyt kansainväliseksi standardiksi ISO 16262. ISO/IEC 16262 on vedetty pois ja sen on korvannut ISO/IEC 22275:2018. Uusin versio ECMAScriptistä on kesäkuussa 2021 julkaistu ECMAScript 2021.
Useat selaimet tukevat standardin lisäksi lisätoiminnallisuuksia, kuten Mozilla-selainten E4X, joka on XML:n käsittelyyn erikoistunut kielen laajennus (standardi ECMA-357).
Facebook on julkaissut kielelle Flow-nimisen staattisen tyyppitarkastajan, joka mahdollistaa varhaisen virhetarkistuksen ja helpottaa välttämään tiettyjä ajonaikaisia virheitä.
Liittyvät teknologiat

JavaScript-kielen ympärillä on laaja ekosysteemi erilaisia teknologioita, jotka mahdollistavat kielen kehityksen sekä tekee kielestä yhden monipuolisimmista ja tehokkaimmista web-kehityksen ohjelmointikielistä.
Liittyvät teknologiat > Node.js

Node.js on ilmainen avoimen lähdekoodin alustariippumaton JavaScript ajoympäristö, jonka avulla kehittäjät voivat luoda palvelimia, verkkosovelluksia, komentorivityökaluja ja komentosarjoja. Node.js on rakennettu Googlen kehittämän avoimen lähdekoodin V8 -moottorin päälle, joka on erittäin tehokas JavaScript-tulkki. Node.js ja V8 muodostavat tehokkaan parin JavaScriptin palvelinpuolelle, joka luo uusia mahdollisuuksia web-kehittäjille.
Liittyvät teknologiat > TypeScript

TypeScript on alkujaan Microsoftin kehittämä ohjelmointikieli, jonka ensimmäinen versio 1.0 julkaistiin vuonna 2014. TypeScript laajentaa JavaScriptiä tarjoamalla siihen tyypityksen, joka auttaa virheiden korjaamisessa. JavaScript-kieli on Typescriptin osajoukko ja siten kaikki olemassa olevat JavaScript-ohjelmat ovat kelvollisia TypeScript-ohjelmia, mutta ei päinvastoin. TypeScript-koodi käännetään (transpiloidaan) JavaScriptiksi.
Liittyvät teknologiat > Työkalut ja kirjastot

JavaScriptissä erilaiset kirjastot ja Frameworkit ovat keskeisiä työkaluja, jotka edesauttavat JavaScript-kielen web-kehitystä. Nämä tarjoavat valmiiksi rakennettuja ratkaisuja sekä rakenteita. JavaScriptin yleisimmät työkalut ovat React, Angular ja Vue.js. Näitä kaikkia Reactia, Angularia ja Vue.js:ää käytetään pääosin front-end-kehitykseen, eli sovellusten käyttöliittymien rakentamiseen. Yleisimpiä kirjastoja JavaScriptissä ovat JQuery, Lodash ja D3.js, jotka tarjoavat yksittäisiä toimintoja työskentelyyn. jQuery helpottaa DOM-manipulaatiota, Lodash tarjoaa erilaisia funktioita tietorakenteiden käsittelyyn ja D3.js mahdollistaa datan visualisointien luomisen.
Esimerkit > Prototyypit

// Luo uusi tyhjä olio.
let person = Object.create(null);
// Lisää olioon attribuutteja.
person.name = 'foo';
person.age = 25;
// Lisää olioon metodi.
person.saySomething = function() {
    console.log('Hello. I am ' + this.name + '.');
}

person.saySomething(); // > Hello. I am foo.

// Luo uusi olio käyttämällä edellistä prototyyppinä.
let anotherPerson = Object.create(person);
// Muuta attribuutin arvoa.
anotherPerson.name = 'bar';

// JavaScript etsii "saySomething" ja "name" prototyyppiketjusta.
anotherPerson.saySomething(); // > Hello. I am bar.
Esimerkit > HTML-dokumenttin upotettuna

<html>
  <head>
    <title>JavaScript-esimerkki</title>
  </head>
  <body>
    <!-- script-merkkien välissä oleva teksti
         tulkitaan JavaScript-koodiksi ja ajetaan heti, kun
         HTML-tiedosto avataan web-selaimessa. -->
    <script>
      // "document" on web-selainympäristössä oleva
      // globaali objekti, joka edustaa web-sivua (HTML DOM) ja 
      // mahdollistaa tämän muokkaamisen JavaScriptin avulla.
      document.write("Hei, maailma!");
    </script>
  </body>
</html>
Esimerkit > Funktiot

/* Nimetön funktio, joka kutsuu itseään, palauttaa merkkijonon "Bar" 
todennäköisyydellä 67 % ja "Foo" todennäköisyydellä 33 %, ja kulkeutuu 
sitten roskienkeruuseen. */
(function (arg) {
  // pino eli periytyykö arraysta
  if (arg instanceof Array) {
    // muutetaan jokainen numeroarvo kirjaimeksi
    arg.forEach((item, index) => {
      arg[index] = String.fromCharCode(item);
    });
    arg = arg.join(""); // kirjainpinosta merkkijonoksi
  }
  return arg;
  // argumenttina kolmiosainen (ternary) operaatio 
})(Math.random() <= 0.33 ? [70, 111, 111] : "Bar");
Kirjallisuutta

Flanagan, David: JavaScript: Tehokäyttäjän opas.  (648 sivua)  Suomentanut Pasi Matilainen. Jyväskylä:  Suomen ATK-kustannus, 1997.  ISBN 951-762-563-4
Peltomäki, Juha: JavaScript-kieli: Uudet ominaisuudet.  (154 sivua)  Books on Demand, 2017.  ISBN 978-951-568-355-7
Marijn Haverbeke: Eloquent JavaScript eKirja (ilmainen) eloquentjavascript.net.  2024. Viitattu 10.5.2024. (englanniksi)
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta JavaScript Wikimedia Commonsissa
JavaScript Mozillan kotisivuilla (englanniksi)
JavaScript-opassarja
| n k Yleisimmät ohjelmointikielet |
| --- | --- |
Tuotantokäytössä:  Ada  APL  Assembly  AWK  C  C++  C#  COBOL  Dart  Delphi  Eiffel  Erlang  Forth  Fortran  Go  Java  JavaScript  Kotlin  Lisp  Lua  Objective-C  Pascal  Perl  PHP  PostScript  Python  R  Ruby  Rust  Smalltalk  Swift  Tcl  TypeScript  Visual Basic 
Akateemiset:  CLU  Haskell  Logo  ML  OCaml  Prolog  Scheme 
Historialliset:  ALGOL  BASIC  Modula-3  MUMPS  Plankalkül  PL/I  Simula 
Luettelo yleisimmistä ohjelmointikielistä
Elna

| Elna |
| --- | --- |
Nimipäivä:   
– suomenkielinen:  10. helmikuuta
– ruotsinkielinen:  10. helmikuuta
– ortodoksinen:  –
Muunnelmia:  Ella
Vastineita eri kielissä:  –
Nimen alkuperä:  Elina, Helena
Infobox OKNimi-testi OK: 
Elna on pohjoismainen naisen etunimi. Se on syntynyt lyhentymänä kreikkalaisperäisestä nimestä Helena, joka tarkoittaa loistavaa. Elnan nimipäivä on 10. helmikuuta. Digi- ja väestötietoviraston nimipalvelun mukaan Elna-nimisiä on Suomessa ollut kirjoilla helmikuuhun 2024 mennessä 5 814 naista ja alle 10 miestä.
Tunnettuja Elnoja

Luettelon henkilöt ovat suomalaisia, ellei toisin mainita.
Elna Borch (1869–1950), tanskalainen kuvanveistäjä
Elna Hellman (1896–1981), näyttelijä
Elna Kiljander (1889–1970), arkkitehti ja sisustussuunnittelija
Elna Kopponen (1906–2000), voimistelunopettaja ja naisvoimistelun kehittäjä
Elna Korven-Korpinen (1888-1964), näytelmäkirjailija
Elna Nieminen (1921–2016), farmakologi ja Lääkelaboratorion professori
Elna Pelkonen (1896–1969), kirjailija ja runoilija
Elna Roos (1896–1946), kirjailija
Elna Wichmann (1877–1924), musiikkikirjailija