Middle
Odkiaľ majú primitívne dátové typy metódy (napríklad .toString() atď.)?
sobes.tech AI
Odpoveď od AI
Primitívne dátové typy v JavaScripte (reťazce, čísla, boolean hodnoty, Symbol, BigInt, null, undefined) v skutočnosti nemajú metódy. Avšak, keď sa pokúsime zavolať metódu na primitívnej hodnote, JavaScript ju dočasne zabalí do príslušného obalového objektu (String, Number, Boolean, Symbol, BigInt).
Napríklad, pri volaní .toString() na reťazci 'hello', JavaScript vytvorí dočasný objekt new String('hello'), zavolá metódu toString() tohto objektu a potom dočasný objekt zničí. Tento mechanizmus sa nazýva autoboxing alebo automatické balenie.
Typy dát null a undefined nemajú zodpovedajúce obalové objekty a preto nemôžu mať metódy. Pokus o volanie metódy na null alebo undefined spôsobí chybu TypeError.