Przejdź do głównej zawartości

Wszystkie sposoby, oprócz "" + myObj, zwrócą wartość orange.

Operator +, jeśli zostanie użyty na typach danych, z których choć jeden jest różny niż number, działa jako operator łączenia ciągów znaków.

"" + myObj jest więc operacją łączenia ciągów znaków za pomocą operatora +, czyli de facto konwersją myObj na ciąg znaków.

Okazuje się jednak, że algorytm konwersji danych na ciąg znaków, który stosuje operator +, różni się od pozostałych sposobów.

Operator + dokonując konwersji danych na ciąg znaków, zamiast wywołać metodę toString() na obiekcie, który konwertuje, w pierwszej kolejności wywołuje na nim metodę valueOf().