Programowanie w JavaScript #6 null i undefined oraz operatory

Поділитися
Вставка
  • Опубліковано 19 жов 2024

КОМЕНТАРІ • 67

  • @SamurajProgramowania
    @SamurajProgramowania  7 років тому +40

    Czwartek 7 czerwca za nami 6 z 25 etapów kursu programowania w JavaScript. Przede wszystkim z uwagi na Was (trochę też na siebie ;) podjąłem decyzję że odcinki będą się pojawiać 3 razy w tygodniu tj. w poniedziałki , środy i piątki. Zajmuje mi to trochę więcej czasu niż myślałem, więc by nie robić sobie zaległości w innych projektach, które realizuje zawodowo, muszę przyjąć taki harmonogram. Dodatkowo myślę, że codzienne nagrywanie kilkudziesięciu minut wpływa też na jakość filmów, więc zmiana powinna dać pozytywny efekt. Zresztą codzienna publikacja jest też dla niektórych z Was problematyczne, bo nie każdy ma możliwość spędzić kilkadziesiąt minut codziennie oglądając film, a najgorsze są zaległości. Obiecuję już nic nie zmieniać w czerwcu w modelu pn-śr-pt. Dzięki za zrozumienie i do zobaczenia jutra 😊

    • @magdalenawojnicka1069
      @magdalenawojnicka1069 7 років тому +1

      Nie ma problemu, że będzie rzadziej. Najważniejsza jest jakość, która u Ciebie, Samuraju, jest mega wysoka i najważniejsze, aby ją utrzymać! Twój kurs jest świetny! I niech taki pozostanie, a będzie to niedościgniony wzór dla innych ;) Podobnie przystępnie napisana, ale oczywiście nie tak dogłębna, jest książka "JavaScript dla dzieci", którą, moim zdaniem można polecić wszystkim początkującym, co niniejszym czynię ;)

    • @pawlik848
      @pawlik848 7 років тому

      Samuraj Programowania jestem za ;)

    • @baldini1337
      @baldini1337 7 років тому +2

      Samuraj Programowania właśnie w te dni mam czas tylko na naukę programowania :) dla mnie x razy lepiej :)

    • @paulmonde6896
      @paulmonde6896 7 років тому +1

      Spoko jest. Co za duzo to niezdrowo, wiec 3 razy w tygodniu jest jak najbardziej ok. Bedzie czas na obejrzenie, bedzie czas na zastanowienie sie, potem reset umyslu i lykamy kolejna dawke wiedzy.

    • @thomschery2800
      @thomschery2800 7 років тому +1

      Dobrze, że nie powiedziałeś: A idź pan z tym w piz.u!....bo liczymy na ten teutorial...so much!

  • @rafal5224
    @rafal5224 7 років тому +29

    var a = " zarebisty";
    var b = " kurs.";
    var c = a + b + " Wielkie dzieki. Pozdrawiam :)"
    !!c
    true.... :)

    • @Wandziful
      @Wandziful 7 років тому +3

      console.log(c);

    • @narkes8096
      @narkes8096 4 роки тому

      @@Wandziful jeszcze "window." przed console log

  • @wojtwojtekwojtek1214
    @wojtwojtekwojtek1214 7 років тому +11

    Bartek! Ty jesteś Mistrzem w tym co robisz

  • @baku7320
    @baku7320 7 років тому +2

    Widzę, że z każdym odcinkiem tłumaczenie idzie Ci coraz lepiej... też chciałbym więcej przykładów, które obrazują to co mówisz (bo tak się lepiej zapamiętuje). Ale generalnie jest ten kurs super!

  • @OgieniIiWoda
    @OgieniIiWoda 6 років тому

    5 lat po studiach przypomniałeś mi, jak bardzo lubię logikę :) dzięki!

  • @greedyeel9478
    @greedyeel9478 7 років тому +12

    Kurs zaczyna wciągać ;)
    Pozdrawiam.

  • @malolatek9083
    @malolatek9083 7 років тому

    Świetna seria, jedna z lepszych jaką widziałem z programowania :)
    W 2 odcinku bodajże, wygłosiłeś dygresję odnośnie programowania gier, bylo by bardzo fajnie gdybyś w wolnej chwili nagrał coś ala "Q&A" - na ww. temat - oczywiście w języku JS, jakie frameworki, jakie konkretnie "działy Js" jak Ty to wszystko widzisz :)

  • @paweantoniewicz4040
    @paweantoniewicz4040 7 років тому +6

    Film świetny jak zawsze :)! A pytając z ciekawości, skąd Ty się nauczyłeś programować ;)?

  • @welnamarcin
    @welnamarcin 3 роки тому +1

    z prędkością 1.5 przyjemnie się słucha :)

  • @JayQbowski
    @JayQbowski 7 років тому +1

    przeglądałem różne filmiki od php, html, java, c++, na twoją seria trafiłem przypadkowo gdyż szukałem filmiku na temat html5 i css. Śledzę teraz serię o JavaScript i wciągnęło mnie to z nie cierpliwością czekam na nowe odcinki :) czy po tej serii będzie powrót do tworzenia stron internetowych chodzi mi o taka bardziej zaawansowaną jak login hasło rejestracja czy wysyłanie maila itp. ?

  •  7 років тому

    Super! 2 odcinki w 1! Do jutra! Ps. wszystko co tłumaczysz jest zrozumiałe i bardzo przejrzyste :-)

  • @waclaw1rym
    @waclaw1rym 7 років тому +2

    Świetne materiały i bardzo dużo wartościowych informacji, ale mam jedno pytanie. Slajdy, które używasz na filmikach będą dostępne do pobrania? Chciałbym sporządzić notatki z najważniejszych informacji.

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +3

      Dzięki :) Co do slajdów to być może w przyszłości, na teraz są one trochę niespójne. Ale zapisuje sobie, że taki pomysł się pojawił :)

    • @mr.m2864
      @mr.m2864 7 років тому +6

      długopis i kartka :)

  • @krzysztofcierpka5523
    @krzysztofcierpka5523 3 роки тому

    Dzięki :)

  • @sosnix
    @sosnix 6 років тому

    Hej naprawdę swietnie tlumaczysz ! Dobrze ze istniena tacy ludzie jak Ty! Moze jakis react.js ?

  • @bazylissatheophanu
    @bazylissatheophanu 5 років тому

    Szacun za to, jak to tłumaczysz :)

  • @sylwiapochron6926
    @sylwiapochron6926 7 років тому

    i ta lekcja zrobiona, dzięki!!

  • @bartekg412
    @bartekg412 7 років тому +10

    41 min

  • @KarolWasiluk
    @KarolWasiluk 7 років тому +3

    Witam, od jakiegoś czasu przeglądam sobie materiały na temat javascript, tak też trafiłem na ten kurs. Jednakże pomimo moich dobrych chęci przynajmniej dla mnie nauka z niego jest lekko chaotyczna. Jeżeli miałbym opierać swoją naukę, dodatkowo posiłkowałbym się (i posiłkuję) literaturą. Pewne zagadnienia z poprzednich lekcji zostały omówione trochę na szybko, stąd musiałem wszystko doczytać na własną rękę - po prostu się zagubiłem (: Raczej nie wiem czy będę śledzić ten kurs, osobiście materiały z CSS/HTML są dla mnie tutaj o wiele przyjemniejsze. Co nie znaczy że hejtuję czy coś, wręcz przeciwnie : )
    Pozdrawiam!

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      Karol, dzięki za podzielenie się opinią i powodzenia w nauce JS! :)

    • @bartekg412
      @bartekg412 7 років тому +4

      dla mnie tempo i wyczerpanie informacji jest idealne

    • @lukejack8592
      @lukejack8592 7 років тому

      Tempo i informacje są wystarczające by dobrze poznać dane zagadnienie, ale chaos i niespójność w danych filmach jest duża. Dobrze to widać w dzisiejszym filmie, najpierw Pan rozwiązuje zadanie, z którego zagadnienia są zawarte na samym końcu filmu i tam są tłumaczone. Powinno być na odwrót.
      Znam troszkę JS i dowiedziałem się tu już sporo nowych rzeczy, ale osoby nieznające tego języka mają problem z ogarnięciem wszystkiego. Ostatni film powinien wynikać z poprzednich, tak by nauka była spójna (np. zmienne -> typy -> operatory -> tablice -> if oraz switch -> pętle -> nowe zmienne).
      Świetny pomysł by każdego dnia uczyć ludzi czegoś nowego ma dany temat, dzięki za już zdobytą wiedzę z tych 6 filmów, czekam na więcej, choć są małe nieociągnięcia i mały chaos w filmach. Z niecierpliwością czekam na jutrzejszy film. Powodziania :)

  • @CeJayHector
    @CeJayHector 2 місяці тому

    Czy te filmy są nadal aktualne? Czy dużo się już pozmieniało odnośnie kodowania w JS ?

  • @PiotrBaszynski
    @PiotrBaszynski 7 років тому

    Może warto byłoby wspomnieć, że takie mieszanie typów (przy wyrażeniach logicznych) nie jest zalecane, szczególnie początkującym. Ponadto, ważny (IMHO) jest fakt, że różnie to działa w różnych językach programowania, przez co człowiek wchodzący z innego języka do js może się czuć niepewnie.

  • @KonradKSS2
    @KonradKSS2 7 років тому +1

    czyli operator || to logiczne

  • @KonradKSS2
    @KonradKSS2 7 років тому +1

    Mikrofom trafił do królestwa niebieskiego:-)

  • @janhide999
    @janhide999 7 років тому

    Z tego co mówisz, powinienem otrzymać wartość po prawej stronie, gdy 2 wartości są nieprawdziwe
    2>3 || 3>5
    false
    Dlaczego tak się dzieje i nie otrzymałem 3>5?
    Pozdrawiam :)

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +1

      Bo kolejność operatorów jest inna. Najpierw >, a potem ||. Jeśli weźmiesz pod uwagę kolejność wynik będzie własnie taki jak napisałeś.Pozdrawiam :)

  • @wojciechwojtowicz6828
    @wojciechwojtowicz6828 7 років тому +3

    Samuraj Programowania, czy z tym null to nie jest tak jak ze zbiorami w matematyce; zbiór pusty nie ma żadnych elementów; jednak zbiór, który zawiera tylko jeden element, którym jest zbiór pusty, to taki zbiór nie jest zbiorem pustym choć zawiera tylko zbiór pusty. Moim zdaniem: null to zbiór pusty; {} to zbiór, który zawiera jeden element (zbiór pusty). Moim skromnym zdaniem null wskazuje na zbiór pusty stąd interpreter JS wykazuje, że jest to typ object. Zbiór pusty to też obiekt.

  • @mr.m2864
    @mr.m2864 7 років тому

    Jezeli dobrze zroziumiałem to przy operatorze logicznym && "i", zatrzymuje się on przy pierwszym false i nam tą wartość false pokazuje ?

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +1

      dokładnie :)

    • @wileu
      @wileu 7 років тому +2

      Po prostu zwraca wartość przy której JS "wie" jaki będzie wynik operacji. Przy II gdy trafi na pierwszą wartość zwracająca true to już dalej nie idzie, bo to już nie miałoby sensu. W przypadku operatora || "lub" wystarczy jeden true i wynik zawsze będzie true. Np. "0 || 1 || 0 || 0 || 0 || 0 || 0" zwróci 1. I nie ważne gdzie będzie ta jedynka, wyrażenie to będzie zwracało 1. Zatem marnowaniem czasu i zasobów byłoby rozwiązywanie tego wyrażenia dalej. W przypadku operatora && wystarczy jeden false i wyrażenie będzie false. Zatem gdy JS trafi na false, zwraca wartość tego false bo "wie" że i tak będzie false, więc nie ma sensu dalej wyliczać. I tak wyrażenie "0 && 1 && 1 && 1 && 1 && 1 && 1" zwróci 0 nie wazne, gdzie to 0 by wystąpiło. JS po prostu zatrzyma sie na tym 0 i "odpuści" sobie dalsze "logikowanie".

    • @mr.m2864
      @mr.m2864 7 років тому

      Dariusz Olszewski dziekuje Darku za tak obszerne wyjasnienie :)

    • @wojciechwojtowicz6828
      @wojciechwojtowicz6828 7 років тому

      Dariusz Olszewski, skąd interpreter ma wiedzieć, że za pierwszym operatorem && jest też operator &&, może to będzie operator || ? :) dlatego zgodnie z zasadą interpretera należy dla każdego operatora sprawdzić co najmniej jeden mu przynależny operand - interpreter nie ogarnia całości jednym rzutem oka ;)

    • @wileu
      @wileu 7 років тому

      Ogólna zasada jest taka, że interpreter wykonuje działania po kolei - zgodnie z priorytetem operatorów. Natomiast jeśli operatory są tej samej ważności, to od lewej do prawej. Wychodzi na to, że musi w jakiś sposób ogarniać wyrażenia, no bo co jeśli gdzieś na końcu wyrażenia jest mnożenie, nawias, etc.? Swoją drogą, jeśli będziemy mieć true ||.... to już wiem, że wynikiem będzie true, niezależnie ile && i || jeszcze tam będzie.

  • @marikachond9576
    @marikachond9576 7 років тому

    Niestety znalazłam błąd 17:24, powinny być słowa w stringach :)
    var a = "przypisz1" || "przypisz2"
    var b = "sprawdź" || ""działanie"

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      Hej Marika, no własnie niekoniecznie, bo mogą to być zmienne a nie wartości typu prostego string :) A w tym przykładzie to ani nie zmienne ani wartości po prosto nazwy, które symbolizują dwa elementy. Pozdrawiam!

    • @marikachond9576
      @marikachond9576 7 років тому

      +Samuraj Programowania Ok, dzięki za wyjaśnienie. Po za tym dzięki za kanał o JS, dla początkujących bardzo dobre info. Podziwiam i gratuluję wytrwania. Pozdrawiam :p

  • @mosiako8251
    @mosiako8251 5 років тому

    bezwartościowa wartość czyli undefined

  • @Zoltan054
    @Zoltan054 7 років тому

    Witaj Samuraju, wczoraj napisałem do Ciebie wiadomość na skrzynce youtuba, jest ona dla mnie dość ważna, proszę abyś do niej zajrzał :)

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      Przejrzę skrzynkę w sobotę, mam tam wiele wiadomości na które nie odpisałem, proszę o cierpliwość :)

    • @Zoltan054
      @Zoltan054 7 років тому

      Nie ma pośpiechu :) dziękuję za odzew

    • @zgubilamnick1
      @zgubilamnick1 7 років тому +1

      Ta skrzynka YT jest tak jakoś nieintuicyjnie pochowana, że zauważyłam, że mało kto z niej w ogóle korzysta :P

  • @marekchudy8893
    @marekchudy8893 7 років тому

    :-)

  • @zgubilamnick1
    @zgubilamnick1 7 років тому

    Pokazuje mi, że nie ma takiego artykułu na Wiki :(

    • @zgubilamnick1
      @zgubilamnick1 7 років тому

      Okej mam :))) pl.wikipedia.org/wiki/Operator_(programowanie)

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      link poprawiony, dzięki za info :)

    • @pietrekt.807
      @pietrekt.807 4 роки тому

      @@SamurajProgramowania nie jest poprawiony.

  • @PerRo13
    @PerRo13 7 років тому

    typeof NaN
    "number"
    :/

  • @MrDziegiel
    @MrDziegiel 3 роки тому

    jeśli wpiszemy false || 0 || " " || null to da nam " "

    • @MrDziegiel
      @MrDziegiel 3 роки тому

      przepraszam nie zauważyłem że " nieMaPrzerwy" :D

  • @dod-do-or-dont
    @dod-do-or-dont 6 років тому +1

    || to tz operator leniwy.

  • @kubowsky4128
    @kubowsky4128 7 років тому

    1