vef1-2025

Vefforritun 1 kennd haustið 2025

View the Project on GitHub vefforritun/vef1-2025

Fyrirlestur – JavaScript einingar

Vefforritun 1 — TÖL107G

Ólafur Sverrir Kjartansson, osk@hi.is


Einingar


Einingar – kostir



Einingar – ókostir


// forrit sem reiknar lengd milli a og b
// hvaða skil eru „best“?
program.doStuff(a, b);
program.calculate(a, b);
program.calulateDistance(a, b);
program.distance(a, b);

Einingar í JavaScript


Immediately-invoked function expression


Föll keyrð strax

((i) => {
  console.log(i * 2);
})(10);
// 20

Module pattern með iife


const Module = (() => {
  const privateVar = 1;
  function privateMethod() {
    return privateVar;
  }

  return { // má ekki vera í sér línu!
    publicVar: 2,
    publicMethod: () => privateMethod(),
  };
})(); // IIFE, fáum strax hlut


JavaScript modules



Til að geta notað verðum við að:


// module.js
export default {
  message: 'hello world',
};

// named export
export const message = 'hello named world';
// sækjum default export, gætum nefnt annað
import obj from './module.js';

// sækjum named export
import { message } from './module.js';

// sækjum named export undir öðru nafni
import { message as moduleMessage } from './module.js';

Notum almennt frekar named export en default export:



JavaScript modules dæmi