Pytanie: czym jest rozwijanie funkcji (ang. currying) w JavaScripcie?

Odpowiedź: Rozwinięta funkcja to funkcja, która zwraca drugą funkcję. Pozwala to na tworzenie łańcuchów funkcji.

Wideo (ang): https://youtube.com/shorts/zfRiQjD4ZKA

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#javascript #programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow

#pytaniarekrutacyjnezprogramowania
/\/\/\
@tomaszs: Bez wyjaśnienia, po co się to robi, ta informacja zupełnie nic czytelnikowi nie daje. Wkładasz jakiś wysiłek w te wpisy, więc warto, żeby miały szansę komuś pomóc więcej, niż tylko wskazując, jakie pytania mogą paść.

Zatem jeśli ktoś to czyta - używa się tego, żeby wyprodukować wiele wariantów funkcji, różniących się w zależności od jakiegoś parametru. Zwykle parametr ten znamy wcześniej, w odróżnieniu od pozostałych. Przykładowo, jeśli chcemy liczyć kwoty
Pytanie: do czego w JavaScripcie służą metody call, apply i bind

Odpowiedź: Są to metody, które pozwalają upewnić się, że funkcja jest uruchamiana na poprawnej instancji klasy.

Wideo (ang): https://youtube.com/shorts/KjC3gk6cDn8?feature=share

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#javascript #programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow

#pytaniarekrutacyjnezprogramowania
/\/\/\
@tomaszs: @sepuqqu:
call() - shortcut do wywoływania funkcji, to samo co (). Możemy tego użyć też by pożyczyć metodę z innego obiektu objekt1.metoda.call(obiekt2). Możemy też dodać parametry do tej funkcji, jeden po drugim np. objekt1.metoda.call(obiekt2,param1,param2)
apply() - robi to samo co call, jednak przekazujemy parametry w postaci tablicy. Spoko jeżeli nie wiesz ile ostatecznie tych parametrów będzie.
bind() - możemy zapisać metode z obiekt1 do zmiennej, by później jej użyć.
Pytanie: czym jest czasowa martwa strefa (temporal dead zone) w JavaScripcie?

Odpowiedź: Gdy zadeklarujesz zmienną z użyciem słów kluczowych const i let, zmienną nie jest dostępna do czasu jej deklaracji. Inaczej jest, gdy użyjesz słowa kluczowego var. Wtedy zmienna jest dostępna przed jej deklaracją. W przypadku użycia zmiennej przed deklaracją let lub const, otrzymasz błąd. Część kodu, w którym zmienna nie jest dostępna nazywana jest czasową martwą strefą (temporal dead zone).

Wideo
Pytanie: Co to jest "this" w JavaScripcie?

Odpowiedź: This jest kontekstem wywołania funkcji. Na przykład jest to obiekt, na którym wywolywana jest funkcja. Aby uniknąć kradzieży "This" (ang. this stealing) używaj metody "bind" oraz funkcji strzałkowych (ang. arrow functions)

Wideo (ang): https://youtube.com/shorts/fbJd7aRVTWo

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#javascript #programowanie #naukaprogramowania #programujzwykopem #
Pytanie: Kiedy warto korzystać z funkcji natymiastowych? (ang. Immediately invoked functions)?

Odpowiedź: ponieważ nie zaśmiecają globalnego obiektu ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)

Wideo (ang): https://youtube.com/shorts/kfsqsoqn-bM

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #
Pytanie: Co w JavaScripcie jest przypisywane wartością, a co referencją?
Odpowiedź: Prymitywne zmienne są przypisywane przez wartość. A nie-prymitywne np. obiekty przez referencję.

Oznacza to, że jeśli przypiszesz obiekt do dwóch zmiennych i zmienisz właściwość obiektu stosując jedną, obiekt w drugiej zmiennej też się zmieni. Dlatego, ze obie zmienne trzymają ten sam obiekt.

Wideo (ang): https://youtube.com/shorts/d0ecZNWx6CU

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni
Pytanie: Czym jest NaN w JavaScripcie?
Odpowiedź: Gdy operacja w JavaScripcie powoduje, że jej wynik nie jest liczbą np. Math.sqrt(-1), otrzymujemy wartość NaN. Możesz to sprawdzić za pomocą metody IsNaN()

Wideo (ang): https://youtube.com/shorts/NuA_JlUwdh0

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania
Pytanie: Co to znaczy, ze JavaScript jest dynamicznie typowany?
Odpowiedź: Oznacza to, że do zmiennej można przypisywać wartości różnych typów. W związku z czym lepiej korzystać z #typescript

Wideo (ang): https://youtube.com/shorts/UY_3GJrVi-E

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania
Pytanie: czym jest niejawne wymuszenie typu w JavaScripcie? (ang. implicit type coertion)
Odpowiedź: Niejawne wymuszanie typu polega na tym, ze JavaScript próbuje skonwertować różne typy zmiennych do tego samego typu, na przykład by je porównać. Czasem to powoduje problemy.

Wideo (ang): https://youtube.com/shorts/9VdJerDXBYw

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #
Pytanie: Jaka jest różnica między porównywaniem zmiennych za pomocą dwóch i trzech znaków równości w JavaScripcie? == i ===?
Odpowiedź: Z użyciem podwójnego znaku równości porównujesz wartości, zaś z użyciem potrójnego : wartości i typy zmiennych (to jest lepsze!)

Wideo: https://youtube.com/shorts/LvMvcar4nZ8

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania
@tomaszs: który operator jest lepszy to kwestia sporna, zazwyczaj używam === bo nie chce mi się myśleć jak działa konwersja typów, ale == czasem się przydaje przy nullach

Pytanie: Jak działa windowanie (ang. hoisting) w JavaScripcie?
Odpowiedź : Windowanie sprawia, ze definicja zmienych i funkcji przenoszona jest na górę, nawet jeśli zdefiniowałeś je niżej. Możesz wyłączyć windowanie za pomocą polecenia "use strict"

Wideo: https://youtube.com/shorts/JTPozUVicGo

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania
Pytanie: Jakie typy danych dostępne są w JavaScripcie?
Odpowiedź : Są dwa podstawowe typy danych: prymitywne np. string, number i boolean oraz obiekty.

Wideo: https://youtube.com/shorts/Jv0mLHUvouI?feature=share

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, albo jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania
Pytanie: Co to jest Javascript?
Odpowiedź : Javascript jest wszędzie. Możesz tworzyć w tym języku strony, aplikacje, możesz go używać na zapleczu z użyciem Node.js. Możesz nawet pisać funkcje Lambda na AWS.

Wideo:
https://youtube.com/shorts/5-HNT_XhwaM?feature=share

Jeśli chcesz więcej odpowiedzi na pytania rekrutacyjne daj plusa, jakiś hejterski komentarz i obserwuj ostatni tag ( ͡° ͜ʖ ͡°)

#programowanie #naukaprogramowania #programujzwykopem #dlaprogramistow #pytaniarekrutacyjnezprogramowania