You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/fi/2-js-basics/3-making-decisions/README.md

9.3 KiB

JavaScriptin perusteet: Päätöksenteko

JavaScriptin perusteet - Päätöksenteko

Sketchnote: Tomomi Imura

Ennakkokysely

Ennakkokysely

Päätöksenteko ja koodin suoritusjärjestyksen hallinta tekevät koodistasi uudelleenkäytettävää ja luotettavaa. Tässä osiossa käsitellään JavaScriptin tietovirran hallinnan syntaksia ja sen merkitystä, erityisesti Boolean-tietotyyppien kanssa.

Päätöksenteko

🎥 Klikkaa yllä olevaa kuvaa nähdäksesi videon päätöksenteosta.

Voit käydä tämän oppitunnin Microsoft Learnissa!

Lyhyt kertaus Booleaneista

Boolean-arvot voivat olla vain kaksi: true tai false. Boolean-arvot auttavat päättämään, mitkä koodirivit suoritetaan, kun tietyt ehdot täyttyvät.

Aseta Boolean-arvo trueksi tai falseksi näin:

let myTrueBool = true
let myFalseBool = false

Boolean-arvot on nimetty englantilaisen matemaatikon, filosofin ja loogikon George Boolen (18151864) mukaan.

Vertailuoperaattorit ja Boolean-arvot

Operaattoreita käytetään ehtojen arvioimiseen tekemällä vertailuja, jotka tuottavat Boolean-arvon. Alla on luettelo usein käytetyistä operaattoreista.

Symboli Kuvaus Esimerkki
< Pienempi kuin: Vertaa kahta arvoa ja palauttaa true-Boolean-arvon, jos vasemman puolen arvo on pienempi kuin oikean puolen arvo 5 < 6 // true
<= Pienempi tai yhtä suuri kuin: Vertaa kahta arvoa ja palauttaa true-Boolean-arvon, jos vasemman puolen arvo on pienempi tai yhtä suuri kuin oikea 5 <= 6 // true
> Suurempi kuin: Vertaa kahta arvoa ja palauttaa true-Boolean-arvon, jos vasemman puolen arvo on suurempi kuin oikean puolen arvo 5 > 6 // false
>= Suurempi tai yhtä suuri kuin: Vertaa kahta arvoa ja palauttaa true-Boolean-arvon, jos vasemman puolen arvo on suurempi tai yhtä suuri kuin oikea 5 >= 6 // false
=== Tarkka yhtäsuuruus: Vertaa kahta arvoa ja palauttaa true-Boolean-arvon, jos oikean ja vasemman puolen arvot ovat yhtäsuuret JA samaa tietotyyppiä 5 === 6 // false
!== Epäyhtäsuuruus: Vertaa kahta arvoa ja palauttaa päinvastaisen Boolean-arvon kuin tarkka yhtäsuuruusoperaattori 5 !== 6 // true

Testaa osaamistasi kirjoittamalla vertailuja selaimesi konsoliin. Yllättääkö jokin palautettu tieto sinut?

If-lause

If-lause suorittaa koodin lohkojensa sisällä, jos ehto on tosi.

if (condition) {
  //Condition is true. Code in this block will run.
}

Loogisia operaattoreita käytetään usein ehtojen muodostamiseen.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

If..Else-lause

else-lause suorittaa koodin lohkojensa sisällä, kun ehto on epätosi. Se on valinnainen if-lauseen kanssa.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Testaa ymmärrystäsi tästä koodista ja seuraavasta koodista suorittamalla ne selaimen konsolissa. Muuta currentMoney- ja laptopPrice-muuttujien arvoja muuttaaksesi palautettua console.log()-tulosta.

Switch-lause

switch-lausetta käytetään suorittamaan erilaisia toimintoja eri ehtojen perusteella. Käytä switch-lausetta valitaksesi yksi monista suoritettavista koodilohkoista.

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

Testaa ymmärrystäsi tästä koodista ja seuraavasta koodista suorittamalla ne selaimen konsolissa. Muuta muuttujan a arvoja muuttaaksesi palautettua console.log()-tulosta.

Loogiset operaattorit ja Boolean-arvot

Päätökset saattavat vaatia useamman kuin yhden vertailun, ja ne voidaan yhdistää loogisilla operaattoreilla tuottamaan Boolean-arvon.

Symboli Kuvaus Esimerkki
&& Looginen JA: Vertaa kahta Boolean-lauseketta. Palauttaa true vain, jos molemmat puolet ovat tosi (5 > 6) && (5 < 6 ) //Toinen puoli on epätosi, toinen tosi. Palauttaa false
|| Looginen TAI: Vertaa kahta Boolean-lauseketta. Palauttaa true, jos vähintään yksi puoli on tosi (5 > 6) || (5 < 6) //Toinen puoli on epätosi, toinen tosi. Palauttaa true
! Looginen EI: Palauttaa Boolean-lausekkeen vastakkaisen arvon !(5 > 6) // 5 ei ole suurempi kuin 6, mutta "!" palauttaa true

Ehdot ja päätökset loogisilla operaattoreilla

Loogisia operaattoreita voidaan käyttää ehtojen muodostamiseen if..else-lauseissa.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Negaatio-operaattori

Olet tähän mennessä nähnyt, kuinka voit käyttää if...else-lausetta luomaan ehdollista logiikkaa. Kaiken, mikä menee if-lauseeseen, täytyy arvioitua todeksi tai epätodeksi. Käyttämällä !-operaattoria voit kumota lausekkeen. Se näyttäisi tältä:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

Ternäärilausekkeet

if...else ei ole ainoa tapa ilmaista päätöksentekologiikkaa. Voit myös käyttää niin sanottua ternäärioperaattoria. Sen syntaksi näyttää tältä:

let variable = condition ? <return this if true> : <return this if false>

Alla on konkreettisempi esimerkki:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

Käytä hetki aikaa tämän koodin lukemiseen muutaman kerran. Ymmärrätkö, miten nämä operaattorit toimivat?

Yllä oleva koodi sanoo:

  • jos firstNumber on suurempi kuin secondNumber
  • silloin firstNumber asetetaan biggestNumber-muuttujaan
  • muuten asetetaan secondNumber.

Ternäärilauseke on vain tiivis tapa kirjoittaa alla oleva koodi:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 Haaste

Luo ohjelma, joka kirjoitetaan ensin loogisilla operaattoreilla ja sitten uudelleen ternäärilausekkeella. Mikä syntaksi on mielestäsi parempi?


Jälkikysely

Jälkikysely

Kertaus ja itseopiskelu

Lue lisää käyttäjän käytettävissä olevista operaattoreista MDN:ssä.

Tutustu Josh Comeaun upeaan operaattorihakemistoon!

Tehtävä

Operaattorit


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.