• 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

VPS Starter Arubacloud
0 głosów
323 wizyt
pytanie zadane 20 września 2018 w JavaScript 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 VIP (123,060 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 Dyskutant (7,650 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 VIP (123,060 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 Dyskutant (7,650 p.)
To dobrze. Na przyszłość polecam mdn, bo często fajnie są wytłumaczone przykłady :)

Podobne pytania

+2 głosów
1 odpowiedź 81 wizyt
+1 głos
2 odpowiedzi 234 wizyt
pytanie zadane 8 marca 2022 w C# przez xLipeq Nowicjusz (210 p.)
0 głosów
1 odpowiedź 119 wizyt
pytanie zadane 26 sierpnia 2018 w JavaScript przez MrxCI Dyskutant (8,260 p.)

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...