Sobes.tech
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.