Sobes.tech
Middle

Waar komen de methoden (bijvoorbeeld .toString() enz.) vandaan bij primitieve datatypes?

sobes.tech AI

Antwoord van AI

Primitieve datatypes in JavaScript (strings, nummers, booleaanse waarden, Symbol, BigInt, null, undefined) hebben in feite geen methoden. Wanneer we echter proberen een methode aan te roepen op een primitieve waarde, wikkelt JavaScript deze tijdelijk in het bijbehorende wrapper-object (String, Number, Boolean, Symbol, BigInt).

Bijvoorbeeld, bij het aanroepen van .toString() op de string 'hello', creëert JavaScript een tijdelijk object new String('hello'), roept de toString()-methode van dat object aan, en vernietigt vervolgens het tijdelijke object. Dit mechanisme wordt autoboxing of automatisch inpakken genoemd.

De datatypes null en undefined hebben geen bijbehorende wrapper-objecten en kunnen daarom geen methoden hebben. Het proberen aan te roepen van een methode op null of undefined resulteert in een TypeError-fout.