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

Czym różni się przypisywanie od var w JS?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
364 wizyt
pytanie zadane 3 marca 2018 w JavaScript przez Szajba10 Nowicjusz (240 p.)
Czym się różni zwykłe przypisywanie (np. hajs=123;) od var (np. var hajs=123;)?

Na lekcji nie używamy var, tylko przypisywania.

1 odpowiedź

+4 głosów
odpowiedź 3 marca 2018 przez Tomek Sochacki Ekspert (227,490 p.)
wybrane 3 marca 2018 przez Szajba10
 
Najlepsza

Jeśli nie masz nigdzie wcześniej zadeklarowanej zmiennej "hajs" i nie masz aktywnego trybu ścisłego to zapisem

hajs = 123;

tworzysz zmienną globalną, co jest dużym błędem. Szczerze mówiąc to jeśli ktoś uczy na kursie czy w szkole takich praktyk to wg mnie nie ma kompletnie pojęcia o JS i lepiej, żeby sobie darował nauczanie...

Zawsze stosuj deklarowanie np. z użyciem var, ale w ogóle dzisiaj to już lepiej let/const i tego powinni Was uczyć, a nie starych sposobów albo w ogóle błędnych... ehh, ręki opadają na polska szkolnictwo :)

Dobrze jest np. najpierw zadeklarować zmienną:

var hajs;

//lub

var hajs = 0;

i potem w dalszej części modyfikować tę wartość, i tym razem już bez var (tutaj właśnie dobrym zabezpieczeniem jest deklarowanie przez let, a nie var):

hajs = 50;

i od tej chwili nasza zmienna hajs ma wartość 50. Ale dzięki użyciu var jest ona zmienną w danym zakresie, np. określonej funkcji. Chyba, że pracujecie w ogóle na zakresie globalnym co też jest złą praktyką, ale nawet wtedy używaj var aby wyrobić sobie nawyk deklarowania zmiennych. Let i const na razie możesz sobie zostawić, opanuj dobrze samą ideę zmiennych i ich deklaracji a potem sam dostrzeżesz zalety let i cons.

komentarz 3 marca 2018 przez Szajba10 Nowicjusz (240 p.)
Dziękuję bardzo za odpowiedź. Ten komentarz rozjaśnił mój pogląd na ten problem.

Generalnie to używać var tak jak w C++ int/float itd.?
1
komentarz 3 marca 2018 przez Tomek Sochacki Ekspert (227,490 p.)

Generalnie to używać var tak jak w C++ int/float itd.?

Nie myśl w ten sposób. C++ ma ścisłe typowanie i tam wszystko odbywa się nieco inaczej. W JS nie wiedząc o paru rzeczach łatwo zrobić sobie "kuku" :) ale nie będę tutaj wywoływał burzy słabe vs silne typowanie, bo takich dyskusji jest mnóstwo w necie.

Myśl w ten sposób:

  1. Mam jakiś problem.
  2. Potrzebuję do jego rozwiązania zmienne.
  3. Deklaruję te zmienne najlepiej na początku zakresu, np. funkcji (potem, gdy opanujesz let/const zaczniesz deklarować od miejsca użycia ale to na razie zostawmy, nie ma to znaczenia dla idei).
  4. Nawet jeśli nie znam początkowej wartości zmiennej to zrób undefined, lub po prostu "var x;". Ale osobiście uważam, że lepsze jest np. "var x = 0;" gdyż od razu wskazujesz sobie i innym, że będziesz tu trzymał wartości numeryczne. Co prawda w JS nie ma stałych typów i zmienna może mieć wartości o róznych typach co jest w wielu sytuacjach przydatne, lecz ja stosuję raczej zasadę, że nie zmieniam typu zmiennej, a nawet jeśli np. potrzebuję ją przerobić na array, string itp. to wolę do tego użyć drugiej zmiennej, ale to już inny temat.
  5. Gdy dalej operujesz na tej samej zmiennej to nie dawaj już ponownie "var". Jeśli zacząłbyś robić nie var ale let to zobaczysz, że przy próbie drugiego zadeklarowania tej samej zmiennej w tym samym zakresie otrzymasz błąd.

A jeśli chciałbyś zainteresować się JS to polecam poczytać o zakresach zmiennych i funkcjach.

A tak na marginesie to w JS jest jeden typ number, nie ma jak w C++ int, float itp. Warto o tym pamiętać :)

komentarz 3 marca 2018 przez Szajba10 Nowicjusz (240 p.)
Rozumiem. Dziękuję, z pewnością skorzystam z tych porad :)

Pozdrawiam

Podobne pytania

0 głosów
2 odpowiedzi 1,272 wizyt
0 głosów
3 odpowiedzi 4,926 wizyt
–5 głosów
2 odpowiedzi 906 wizyt

93,182 zapytań

142,196 odpowiedzi

322,002 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2127p. - dia-Chann
  2. 2092p. - Łukasz Piwowar
  3. 2079p. - Łukasz Eckert
  4. 2037p. - Tomasz Bielak
  5. 2006p. - rucin93
  6. 2005p. - Łukasz Siedlecki
  7. 1964p. - CC PL
  8. 1785p. - Michal Drewniak
  9. 1744p. - rafalszastok
  10. 1724p. - Adrian Wieprzkowicz
  11. 1684p. - Mikbac
  12. 1624p. - Anonim 3619784
  13. 1520p. - Marcin Putra
  14. 1480p. - ssynowiec
  15. 1365p. - Dawid128
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...