Honnan származnak a módszerek (pl. .toString() stb.) az elsődleges adattípusokhoz?
sobes.tech MI
Válasz az MI-től
A JavaScript primitív adat típusok (karakterláncok, számok, logikai értékek, Symbol, BigInt, null, undefined) valójában nem rendelkeznek metódusokkal. Azonban, amikor megpróbálunk metódust hívni egy primitív értéken, a JavaScript ideiglenesen becsomagolja azt a megfelelő wrapper objektumba (String, Number, Boolean, Symbol, BigInt).
Például, amikor .toString()-et hívunk a 'hello' sztringen, a JavaScript létrehoz egy ideiglenes new String('hello') objektumot, meghívja ennek az objektumnak a toString() metódusát, majd megsemmisíti az ideiglenes objektumot. Ezt a mechanizmust nevezzük autoboxing-nak vagy automatikus csomagolásnak.
A null és undefined típusoknak nincs megfelelő wrapper objektuma, ezért nem rendelkeznek metódusokkal. A null vagy undefined-on való metódushívás TypeError hibát eredményez.