От къде идват методите (например, .toString() и т.н.) при примитивните типове данни?
sobes.tech AI
Отговор от AI
Примитивните типове данни в JavaScript (низове, числа, булеви стойности, Symbol, BigInt, null, undefined) всъщност нямат методи. Въпреки това, когато се опитаме да извикаме метод върху примитивна стойност, JavaScript временно я обвива в съответния обект-обвивка (String, Number, Boolean, Symbol, BigInt).
Например, при извикване на .toString() върху низ 'hello', JavaScript създава временен обект new String('hello'), извиква метода toString() на този обект и след това унищожава временния обект. Този механизъм се нарича autoboxing или автоматично опаковане.
Типовете данни null и undefined нямат съответни обект-обвивки и затова не могат да имат методи. Опитът да се извика метод върху null или undefined ще доведе до грешка TypeError.