Tredun ohjelmistokehittäjien kurssimateriaaleja
Jotta JavaScript-koodia voidaan ajaa, täytyy tietokoneella olla joko verkkoselain tai node.js. Molemmista löytyy REPL eli Read Eval Print Loop. REPL:in promptiin voi kirjoitaa JavaScript-lausekkeita, painaa enter:iä ja katsoa mitä koodi tekee.
Testataan ensimmäisenä ajaa JavaScript-koodia selaimella.
console.log("Hello World!"); Paina enteriä.Muuttuja on nimetty tiedon tallennuspaikka. Ennen muuttujan käyttämistä, se täytyy alustaa antamalla sille alkuarvo.
Muuttujalle annetaan arvo yhtäläisyysmerkillä.
JavaScriptissä on kahdenlaisia muuttujia. Ne ovat nimiltään let ja const. Ensimmäistä käytetään, jos muuttujan sisältö voi muuttua ja jälkimmäistä, jos sisältöä ei haluta myöhemmin muuttaa. Samannimistä muuttujaa ei voi luoda uudelleen samassa tiedostossa/samassa konsolissa. Lisäksi on olemassa muuttuja var, mutta sen käyttämistä ei nykyisin enää suositella, vaan se on vanhentunut. Saatatte kuitenkin törmätä siihen vanhassa JavaScript-koodissa.
Jokaiselle muuttujalle täytyy itse keksiä nimi, joka mieluiten on ihmisen helposti luettavissa ja josta selviää muuttujan sisältö. Kannattaa käyttää mieluummin pidempiä kuin epäselvästi lyhennettyjä muuttujanimiä, vaikka se tarkoittaakin enemmän kirjoittamista. On joitakin niin yleisesti käytettyjä lyhenteitä, että niiden käyttäminen on hyväksyttävää.
let year = 2023;
Jos muuttujan nimi on moniosainen, JavaScriptissä käytetään yleensä camelcase -tyyppistä nimeämistapaa eli muuttujan ensimmäinen kirjan on pienellä, mutta seuraavien osien ensimmäinen kirjain on isolla. Tämä helpottaa muuttujan lukemista, mutta ei vaikuta koodin toimivuuteen. Eri ohjelmointikielissä on omat nimeämiskäytäntönsä.
let firstName = "Anna";
const errorMessage = "Something went wrong!";
Vaikka JavaScriptissä koodarin ei tarvitse määrittää muuttujalle tyyppiä, muuttujalla on aina jokin tietotyyppi. JavaScript päättelee muuttujan tyypin itse ja se voi myös muuttua ohjelman suorituksen aikana eli JavaScript on dynaamisesti tyypitetty ohjelmointikieli.
JavaScriptin tietotyypit ovat:
Keskitymme ensin viiteen ensimmäiseen.
number edustaa mitä tahansa lukuarvoa. Se voi olla kokonaisluku, desimaaliluku (huom. desimaaliluku merkitään JavaScriptissä pisteellä, ei pilkulla) tai negatiivinen luku. Niillä voi suorittaa monenlaisia laskutoimituksia.
string edustaa merkkijonoa. Ne kirjoitetaan aina lainausmerkkien sisään. Niin kaksinkertaiset kuin yksinkertaiset lainausmerkit toimivat JavaScriptissä. Merkkijonon pituus voi vaihdella yhdestä merkistä romaaniin.
boolean merkitsee totuusarvoa ja sen arvot ovat aina joko true tai false. Niitä käytetään usein, kun tarkistetaan jonkin ehdon paikkaansapitävyyttä.
null tarkoittaa, että jollakin ei ole arvoa. Se on asetettava muuttujalle erikseen eli se on tarkoituksella tyhjä. Tätä tulette näkemään harvoin, mutta joskus voi tulla vastaan tilanne, että muuttujalle on annettava jokin alustava arvo tai muuttujalta on poistettava arvo.
Myös undefined tarkoittaa, että muuttujalla ei ole arvoa, mutta se tarkoittaa sitä, että muuttujalle ei missään vaiheessa ole annettu arvoa. Käytännössä voi sanoa, että jos vastaan tulee undefined, jossakin kohtaa koodia on jokin virhe. JavaScript antaa itse muuttujalle tyypin undefined, sitä ei ohjelmoija itse anna.
Testataan muuttujien luomista ja niiden tyyppejä. Jatketaan selaimen konsolin käyttöä.
JavaScriptissä kommentit kirjoitetaan kahdella kauttaviivalla. Niitä voi lisätä joko omalle rivilleen tai koodin perään
// Define variable
let webSite = "w3schools.com"; //ei tarvi https:ä
JavaScriptissä jokainen käsky (lause) päättyy yleensä puolipisteeseen (;). Puolipiste kertoo selaimelle, missä yksi käsky loppuu ja seuraava alkaa.
let name = "Anna";
let age = 18;
let isStudent = true;
JavaScript osaa joskus lisätä puolipisteet itse, mutta ei aina oikein. Tämä voi aiheuttaa virheitä, joita on vaikea ymmärtää – etenkin aloittelijalle.
Siksi tässä kurssissa noudatetaan sääntöä:
Kirjoita puolipiste aina jokaisen käskyn loppuun.
Näin:
Puolipiste kirjoitetaan vain käskyjen loppuun, ei kommenttien.
// Tämä on kommentti
let score = 10; // Puolipiste kuuluu käskyn loppuun
Esimerkkejä oikeasta tavasta
let city = "Helsinki";
let temperature = 12.5;
let isRaining = false;
// Tulostetaan tietoa konsoliin myöhemmin