Sobes.tech
Middle

Kust tulevad primitiivsete andmetüüpide meetodid (näiteks .toString() ja teised)?

sobes.tech AI

Vastus AI-lt

JavaScripti primitiivsed andmetüübid (stringid, numbrid, boolean väärtused, Symbol, BigInt, null, undefined) ei oma tegelikult meetodeid. Kuid kui me üritame kutsuda meetodit primitiivsele väärtusele, ümbritseb JavaScript selle ajutiselt vastava ümbrise objektiga (String, Number, Boolean, Symbol, BigInt).

Näiteks, kutsudes .toString() 'hello' stringil, loob JavaScript ajutise objekti new String('hello'), kutsub selle objekti toString() meetodi ja hävitab seejärel ajutise objekti. Seda mehhanismi nimetatakse autoboxing või automaatne pakkimine.

null ja undefined andmetüübid ei oma vastavaid ümbrise objekte ning seetõttu ei saa neil olla meetodeid. Püüdes kutsuda meetodit null või undefined peal, tekib viga TypeError.