Wpis z mikrobloga

@AsYlum JavaScript automatically converts primitives to String objects , so that it's possible to use String object methods for primitive strings.
Dalej nie wiem czemu to nie działa. Jeśli prymitywny string nie byłby obiektem niemożliwe byłoby dotarcie do jego wartości length.
Tylko tutaj używasz 'in'. Dla przykładu: a.length zadziała na primitive type i odbędzie się automatyczna konwersja. I o tym mówi fragment który zacytowałeś. Podejrzewam, że "in" działa tylko na obiektach i nie zapewnia on żadnej automatycznej konwersji.
JavaScript automatically converts primitives to String objects , so that it's possible to use String object methods for primitive strings.


@Mtyrio: Przeczytaj fragment który sam zacytowałeś

so that it's possible to use String object methods for primitive strings.

in to operator. Metoda to np. .charAt()
@Marmite
@AsYlum
@OfensywnoOpresyjnyKorwinizmWAkcji
@epi

Trochę to bardziej skomplikowane niż myślałem ale już jest to jasne. W spojlerze jest odpowiedź, nie mogłem sherowac z stack exchange bo nie widzi wykopu.


var s = 'test'; var ss = new String('test');

The single quote/double quote patterns are identical in terms of functionality. That aside, the behaviour you are trying to name is called auto-boxing. So what actually happens is that a primitive is converted to