Datatypes

Wat is een datatype

Datatypes zijn heel simpel, maar stiekem toch lastig te begrijpen omdat je ze niet 'echt' ziet. Toch moet je weten wat het zijn en wat het verschil is.

Een eerste uitleg

Een datatype zegt iets over een variabele in JavaScript. Het woord zegt het al een beetje, trek ze maar eens los data en type. Met andere woorden een datatype zegt wat voor type data een variabele is. JavaScript kent 7 soorten datatypes:

  • Number (getallen) zoals 1, 2, 45, 45783.46
  • Bigint (grote getallen) getallen boven de 9,007,199,254,740,991 (9 biljard)
  • String (tekst) 'Hallo School' of 'Dit is tekst'
  • Boolean Deze datatype heeft 2 waardes, true of false. Waar of niet-waar dus.
  • Null Deze datatype heeft maar 1 waarde, Null of terwijl leeg/ niets
  • Undefined Deze datatype krijg je als een variabele geen waarde toegekend heeft
  • Object Een object is voor huidige JavaScript een belangrijke datatype, meer hierover leer je later

Oke en nu?

Datatypes heb je soms nodig in je code om dingen met elkaar te vergelijken of juist om dingen aan elkaar te plakken. Een Boolean datatype heb je nodig in een if-statement om te zien of iets waar of niet-waar is. Number datatype heb je nodig als je wilt kijken of een getal groter of kleiner is dan een ander getal, of als je rekenkundig iets wilt oplossen.

Praktische voorbeelden

Om je een beetje opweg te helpen krijg je hieronder een aantal voorbeelden.

Numbers

Als je een getal hebt kan je er meerdere dingen mee doen. Je kan rekenen of je kan kijken of een conditie waar is met een if-statement.

let totalMoney = 0; //Een let, de waarde veranders;
totalMoney = totalMoney + 100; //totalMoney is nu 100;
totalMoney = totalMoney + 500; //totalMoney is nu 600;

//We kunnen een if-statement maken om te controleren of het geld 600 is
if (totalMoney === 600) {
  console.log('Je hebt nu 600');
}

String

const myText = 'Hallo wereld, dit is een String datatype variabele';

Boolean

const ageCheck = true;

Undefined

let myVar;
console.log(myVar); //undefined

Datatype controleren

Je kan in JavaScript makkelijk de datatype van een variabele controleren met typeof.

const myNumber = 6;
console.log(typeof myNumber); //6
Soms wil je een if-statement gebruiken om te zien of iets een bepaald datatype is, bijvoorbeeld voor je iets gaat optellen, moet de datatype een getal zijn.
let myNumber = 6;
if (typeof myNumber === 'number') { //typeof geeft altijd een String als datatype terug
    let myNumber = myNumber + 40; //myNumber is nu 46
}

== en === in JavaScript

Zoals je hebt gezien gebruiken we drie = tekens in JavaScript === bij een if-statement. Een === in JavaScript controleert de waarde maar ook de datatype met elkaar.
In onderstaand voorbeeld is de waarde van beide getallen gelijk, alleen de datatype is anders. JavaScript reageert hier ook anders op.

const firstNumber = 5; //datatype Number
const secondNumber = "5"; //datatype String

if (firstNumber == secondNumber) { //Dit is waar, omdat er NIET naar het datatype gekeken wordt
    console.log('The numbers are equal');
}

if (firstNumber === secondNumber) { //Dit is niet-waar, de datatypes zijn nl. niet gelijk
  console.log('The numbers AND datatypes are equal');
}
Een ander voorbeeld is als je dingen wilt optellen. Je kan met JavaScript tekst aan elkaar voegen door een + teken te gebruiken. Dit teken heb je ook nodig als je dingen wilt optellen. Als de datatypes niet gelijk zijn, dan zal er altijd een String gemaakt worden.
const someNumber = 23; //datatype Number
const someText = 'Hello world' //datatype String

console.log(someNumber + 5); //Dit is 28. Je telt een getal  bij een ander getal op;
console.log(someNumber + someText); //Dit is '23Hello world';

Jouw JavaScript

Op de MBO-SD Fiddle site kan je meer oefenen met deze stof.

Klik hier voor de MBO-SD Fiddle site