• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JS [Podstawy] - obiekt String versus string

0 głosów
81 wizyt
pytanie zadane 20 września 2018 w JavaScript, jQuery, AJAX przez Whatisit Początkujący (390 p.)
edycja 20 września 2018 przez Whatisit

Oto krotki kod do analizy: (definiowanie zmiennej typu string na dwa sposoby)

// Przyklad 1

let x = "some text";

// Przyklad 2

let y = new String("some text");

Robilem testy i zauwazylem ze w ten sposob utworzone zmienne zachowuja sie tak samo w prawie kazdej sytuacji.

Z  wyjatkiem ze x jest tekstem, ktory jest tymczasowo zmieniany na obiekt podczas operacji, a y jest odniesiem do obiektu, lecz obie dzialaja tak samo.

 

Chcialbym wiedziec wiecej na ten temat, jakie sa plusy i minusy korzystania z obu sposob definiowania lancuchu znakow.

Jedynie jakie ja zauwazylem, to ze przyklad 1 jest krotszy i nie ma problemow z typeof, w przykladzie drugim typeof zawsze zwroci "object" i sam zapis jest dluzszy, lecz te informacje mi nie wystarczaja, bylbym wdzieczny bardzo za wyczerpanie tematu - nawet prostymi zdaniami.

 

Pozdrawiam.

 

//edit

Po mimo ze y jest obiektem, czyli zmienne powinny go wskazywac, obiekt String uzywajac np.

let newvar = y;

sie po prostu skopiuje, w przeciwienstwie do obiektow (ktorym jest), w przypadku ktorych newvar powinna wskazywac obiekt, dlaczego tak jest?

1 odpowiedź

–1 głos
odpowiedź 20 września 2018 przez pablop76 Szeryf (88,990 p.)
komentarz 20 września 2018 przez Whatisit Początkujący (390 p.)
Problem w tym ze stad przychodze, a nie jest wyjasnione tam to o co prosze wyzej przeciez. autor w miejsce pytania twierdzi "niby dobrze, ale..." ale co? To mi wiele nie mowi, chce wiedziec dlaczego drugi przyklad jest gorszy od pierwszego.
1
komentarz 20 września 2018 przez Alterwar Mądrala (7,280 p.)
A to?:)

https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Obiekty/String

 
wydaje mi się, że tu jest sensownie pokazana różnica :)
komentarz 20 września 2018 przez pablop76 Szeryf (88,990 p.)

W JS nie musimy czegoś takiego robić. Javascript ułatwia nam pracę i gdy chcemy zrobić jakąś rzecz na typie prostym (pobrać długość tekstu, zamienić liczbę na zmienno przecinkową itp.) w tle dokonuje automatycznej tymczasowej konwersji typu prostego na obiekt, odpala użytą właściwość lub metodę, a następnie przywraca daną zmienną do typu prostego:

komentarz 20 września 2018 przez Whatisit Początkujący (390 p.)
Przeciez napisalem ze to wiem, robi to dla przykladu pierwszego gdy jest typ STRING, napisalem to, ale co sie .. nie bede pytania przepisywal postaraj sie przeczytac, a drugi link juz patrze
komentarz 20 września 2018 przez Whatisit Początkujący (390 p.)

@Alterwar, Ten link wyjasnil wiecej, wynika z niego ze przyklad 1 jest mniej problematyczny dla funkcji i latwiejszy w zapisie

komentarz 20 września 2018 przez Alterwar Mądrala (7,280 p.)
To dobrze. Na przyszłość polecam mdn, bo często fajnie są wytłumaczone przykłady :)

Podobne pytania

0 głosów
1 odpowiedź 59 wizyt
pytanie zadane 26 sierpnia 2018 w JavaScript, jQuery, AJAX przez MrxCI Dyskutant (7,860 p.)
+1 głos
0 odpowiedzi 43 wizyt
pytanie zadane 1 października 2018 w Nasze projekty przez Whatisit Początkujący (390 p.)
0 głosów
1 odpowiedź 71 wizyt
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

62,231 zapytań

108,343 odpowiedzi

226,151 komentarzy

34,593 pasjonatów

Przeglądających: 144
Pasjonatów: 13 Gości: 131

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...