Ohjelmoinnin perusrakenteet javascriptillä

Sorakuilu

JavaScript-demoja, ehtorakenteet

Ehtorakenteet

Kohta A

Laadi ohjelma, joka kysyy promptilla "Minä vuonna ECMAScript-2015 specifikaatio julkistettiin?" ja tulostaa vastauksen: jos vuosi alle 2015 'Liian aikainen..., jos sen jälkeen 'Liian myöhäinen' , muuten 'Juuri niin*


Kohta B

Kirjoita “if” ehto tarkistamaan, että ikä on välillä 14 ja 90 inklusiivisesti eli ikä voi olla myös raja-arvo 14 tai 90

Kirjoita “if” ehto tarkistamaan, että ikä ei ole välillä 14 ja 90 inklusiivisesti eli ikä voi olla myös raja-arvo 14 tai 90


Kohta C

Kirjoita if..else monella '?' - operaattorilla - kannattaa jakaa koodi usealle riville

let viesti;

if (login == 'Työntekijä') {
viesti = 'Hei';
} else if (login == 'Johtaja') {
viesti = 'Hyvää päivää';
} else if (login == '') {
viesti = 'Et ole kirjautunut';
} else {
viesti = '';
}


Kohta D

Muunna seuraava ohjelma switch - case rakenteiseksi

let a = +prompt('a?', '');

if (a == 0) {
console.log( 0 );
}

if (a == 1) {
console.log( 1 );
}

if (a == 2 || a == 3) {
console.log( '2,3' );
}

let a = +prompt('a?', '');


Kohta E

Muunna seuraava ohjelma if - else rakenteiseksi

switch (browser) {
case 'Edge':
console.log( "Käytät Edgeä!" );
break;

case 'Chrome':
case 'Firefox':
case 'Safari':
case 'Opera':
console.log('Ok, tuemme myös tätä');
break;

default:
console.log( 'Toivottavasti sivusi näyttää hyvältä!' );
}


Kohta F

Kirjoita if ?-rakenteeseen

if (a + b < 4) {
result = 'Alle';
} else {
result = 'Yli';
}


Esimerkkejä

Totuusarvoja

Mikä on muuttujien lopullinen arvo seuraavan koodin operaatioiden jälkeen?

5 > 4
"apple" > "pineapple"
"2" > "12"
undefined == null
undefined === null
null == "\n0\n"
null === +"\n0\n"


Lisää totuusarvoja

Mitä seuraava koodi tulostaa?

if ("0")
console.log( 'Hello' );
}


Erilaisia ehtoja

Mitkä ovat seuraavien koodien tulostukset?

console.log( null || 2 || undefined );

console.log( console.log(1) || 2 || console.log(3) );

console.log( 1 && null && 2 );

console.log( console.log(1) && console.log(2) );

console.log( null || 2 && 3 || 4 );


Toimiiko?

Mikä seuraavista toimii?

if (-1 || 0) console.log( 'eka' );
if (-1 && 0) console.log( 'toka' );
if (null || -1 && 1) console.log( 'kolmas' );


Vastauksesn lähdekoodi

/*Laadi ohjelma, joka kysyy promptilla "Minä vuonna ECMAScript-2015 specifikaatio julkistettiin?" ja tulostaa vastauksen: jos vuosi alle 2015 'Liian aikainen..., jos sen jälkeen 'Liian myöhäinen' , muuten 'Juuri niin*/

/*let vuosi = prompt('Minä vuonna ECMAScript-2015 spesifikaatio julkistettiin','');

if(vuosi < 2015) {
    console.log('Liian pieni arvo');
} else if(vuosi > 2015) {
    console.log('Liian suuri arvo');
} else if(vuosi == 2015) {
    console.log('Tiesit juuri oikein');
} else {
    console.log('Anna asiallinen arvo');
}*/

//Ovatko tosia vai epätosia (booleania)

console.log(5 > 4);
console.log("apple" > "pineapple");
console.log("2" > "12");
console.log(undefined == null);
console.log(undefined === null);

if("0") console.log('Hello');
if(0) console.log('Hello');

/*Kirjoita “if” ehto tarkistamaan, että ikä on välillä 14 ja 90 inklusiivisesti eli ikä voi olla myös raja-arvo 14 tai 90

Kirjoita “if” ehto tarkistamaan, että ikä ei ole välillä 14 ja 90 inklusiivisesti eli ikä voi olla myös raja-arvo 14 tai 90*/

let ika = prompt('Anna ika','');

if(ika >= 14 && ika <= 90) console.log("Ehto toteutui");

ika = prompt('Anna ika','');
if(ika <= 14 || ika >= 90) console.log("Ehto toteutuu");
if(!(ika > 14 && ika < 90)) console.log("Ehto toteutui");

/*let a = +prompt('a?', '');
if (a == 0) {
console.log( 0 );
}

if (a == 1) {
console.log( 1 );
}

if (a == 2 || a == 3) {
console.log( '2,3' );
}*/
let a = prompt('Anna luku väliltä 0 - 3');

switch(a) {
    case '0': 
    console.log('0');
    break;

    case '1':
    console.log('1');
    break;

    case '2':
    case '3':
    console.log(' 2 tai 3');
    break;

    default:
    console.log('Välin piti olla 0 - 3');
}