vef1-2025

Vefforritun 1 kennd haustið 2025

View the Project on GitHub vefforritun/vef1-2025

Fyrirlestur – JavaScript forrit

Vefforritun 1 — TÖL107G

Ólafur Sverrir Kjartansson, osk@hi.is


Segðir (expressions)


Skipanir (statement)


Semíkomma


return
  a+b

túlkað sem

return; a+b;

result = a + b
(d + 1)

túlkað sem

result = a + b(d + 1);

Breytur




let result = 1;
let result = 2; // SyntaxError

Dýnamískar breytur

Þar sem breytur í JavaScript hafa ekki týpu getum við breytt gildum þeirra.

let a = 'halló heimur';
a = 1;
a = false;
a = undefined;

const


const FOO = 1;
FOO = 2; // Fáum TypeError

Breytunöfn


Samsett orð í JavaScript


Frátekin orð

Megum ekki nota þessi orð sem breytu nöfn þar sem þau eru lykilorð, (samt ekki samræmi milli keyrsluumhverfa):

break case catch class const continue debugger default
delete do else enum export extends false finally for
function if implements import interface in instanceof let
new package private protected public return static super
switch this throw true try typeof var void while with yield


Umhverfi (environment)


Vafri




Staðlaðir hlutir


Math


Date


const a = new Date();
// Núna
const b = new Date(2022, 0, 1, 0, 0, 0);
// 1. janúar 2022 kl. 00:00:00



Flæðistýringar & lykkjur



if


const a = 5;
if (a > 5) {
  console.log('stærri en 5');
} else if (a > 1) {
  console.log('stærri en 1');
} else {
  console.log('1 eða minni');
}
// stærri en 1


while og do while lykkjur (loops)


let i = 1;

while (i++ < 5) {
  console.log(i);
}
// 2, 3, 4, 5

do .. while

while lykkja sem byrjar á að keyra einu sinni í gegn

let i = 1;
do {
  console.log(i);
} while (i++ < 5);
// 1, 2, 3, 4, 5

for



Breytur og virkjar


for (let i = 0; i < 100; i++) {
  if (i % 2 === 1) {
    continue;
  }

  if (i > 5) {
    console.log('Yfir 5, hættum!');
    break;
  }

  console.log(i);
}
// 0, 2, 4, "Yfir 5, hættum!"

switch


const a = 2;
switch (a) {
  case 1:
    console.log('a = 1');
    break;
  case 2:
    console.log('a = 2');
    break;
  default:
    console.log('a = ???');
}
// a = 2