• 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?

Object Storage Arubacloud
+1 głos
304 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,510 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,510 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,106 wizyt
0 głosów
3 odpowiedzi 4,720 wizyt
–5 głosów
2 odpowiedzi 859 wizyt

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...