Skąd pochodzą metody (np. .toString() itp.) w typach danych prostych?
sobes.tech AI
Odpowiedź od AI
Typy danych podstawowych w JavaScript (łańcuchy, liczby, wartości logiczne, Symbol, BigInt, null, undefined) tak naprawdę nie mają metod. Jednak gdy próbujemy wywołać metodę na wartości podstawowej, JavaScript tymczasowo opakowuje ją w odpowiedni obiekt opakowujący (String, Number, Boolean, Symbol, BigInt).
Na przykład, wywołując .toString() na ciągu 'hello', JavaScript tworzy tymczasowy obiekt new String('hello'), wywołuje metodę toString() tego obiektu, a następnie niszczy ten tymczasowy obiekt. Mechanizm ten nazywa się autoboxing lub automatyczne pakowanie.
Typy danych null i undefined nie mają odpowiadających im obiektów opakowujących i dlatego nie mogą mieć metod. Próba wywołania metody na null lub undefined spowoduje błąd TypeError.