Zdjęcie w tle

Społeczność

Gównowpis

466

Zaloguj się aby komentować

Zaloguj się aby komentować

@vrkr - za duck.ai:

Oto lista "głupich" rzeczy związanych z operatorami porównywania w JavaScript:


1. **Używanie `==` zamiast `===`**: Operator `==` wykonuje konwersję typów, co może prowadzić do nieoczekiwanych wyników. Zawsze lepiej używać `===`, aby porównywać zarówno wartość, jak i typ.


2. **Porównywanie różnych typów bez zrozumienia**: Porównywanie wartości różnych typów (np. liczby i stringi) może prowadzić do zaskakujących wyników, np. `0 == '0'` zwraca `true`, ale `0 === '0'` zwraca `false`.


3. **Używanie `!=` zamiast `!==`**: Podobnie jak w przypadku `==`, operator `!=` wykonuje konwersję typów, co może prowadzić do błędów. Zawsze lepiej używać `!==`.


4. **Porównywanie obiektów**: Porównywanie obiektów za pomocą operatorów porównania (np. `obj1 == obj2`) porównuje referencje, a nie zawartość obiektów, co może prowadzić do nieporozumień.


5. **Używanie `Object.is()` bez zrozumienia**: `Object.is()` ma swoje specyficzne zasady porównywania (np. `NaN` jest równe `NaN`, a `-0` nie jest równe `+0`), co może być mylące.


6. **Porównywanie wartości `null` i `undefined`**: Używanie `==` do porównania `null` i `undefined` zwraca `true`, co może prowadzić do niejasności, gdy nie jest to zamierzone.


7. **Zbyt skomplikowane wyrażenia porównawcze**: Tworzenie złożonych wyrażeń porównawczych, które są trudne do zrozumienia, może prowadzić do błędów i utrudniać czytelność kodu.


8. **Ignorowanie kontekstu logicznego**: Używanie operatorów porównania w kontekście logicznym (np. w instrukcjach warunkowych) bez zrozumienia, jak działają, może prowadzić do błędnych założeń.


9. **Porównywanie z `NaN`**: `NaN` nie jest równe żadnej wartości, w tym samemu sobie, co może prowadzić do nieoczekiwanych wyników w porównaniach.


10. **Używanie operatorów porównania w pętlach bez zrozumienia**: Używanie operatorów porównania w pętlach (np. `for`) bez zrozumienia ich działania może prowadzić do nieskończonych pętli lub błędów logicznych.


Unikanie tych pułapek może pomóc w pisaniu bardziej niezawodnego i przewidywalnego kodu w JavaScript.

@vrkr Tak na oko to obstawiłbym C. Myślę, że A zwraca true, B jest ciekawszym przypadkiem bo bez podania argumentów Math.min() będzie infinity, a Math.max() będzie -infinity także również będzie to true. NaN nie jest równy innemu obiektowi NaN i dalej nie muszę myśleć.

@nbzwdsdzbcps ( ͡° ͜ʖ ͡°)


~ $ node

Welcome to Node.js v23.11.1.

Type ".help" for more information.

> Math.min() > Math.max()

true

> Math.min > Math.max

true

131314f5-6432-48f6-81a7-0c5fb9eee364

Metodą wykreślania poprawnych odpowiedzi:

A - w JS prawie wszystko jest obiektem więc to zwróci true

B - funkcja do zwracania najmniejszej wartości z podanych zwróci domyślnie największą możliwą liczbę a ta przeciwna odwrotnie więc też true

D - koncepcja truthy/falsy w JS gdzie przy takim porównywaniu wartości są "konwertowane" na true albo false, zero jest false a pusty string jest falsy więc zwróci true


No i pozostaje to C, gdym rozwiązywał jakiś test i nie miał dostępu od internetu to bym zaznaczył tę odpowiedź. A teraz podczas pisania tego zdania sprawdziłem na internecie dlaczego NaN != NaN i jak się nad tym pomyśli to ma to sens (jak wszystko w JS gdy zna się odpowiednio ten język, ale wtedy wszelkie te memy przestają bawić).


Dla ciekawskich tutaj są odpowiedzi:

https://www.reddit.com/r/ProgrammerHumor/comments/sh1ji1/stop_pretending_nan_nan_was_a_good_idea_it_wasnt/

https://stackoverflow.com/questions/10034149/why-is-nan-not-equal-to-nan

Zaloguj się aby komentować

Zaloguj się aby komentować

Kurde zapomniałem, że jutro środa, a więc trzeba zapierdzielać do biura, bo sobie jakiś debil manager wymyślił, że z biura się pracuje wydajniej (co ofc nie jest prawdą, bo ludzie odwalają coffee badging albo ploty w kuchni)


#gownowpis

@radziol ale to wystarczy jeden dzień w biurze, żeby kawę z innymi ludźmi wypić. A jak masz chodzić więcej niż raz w tygodniu, to czas stracony (przynajmniej moim zdaniem)

Zaloguj się aby komentować

Wchodzę dziś w gorące i widzę, że pierwszy wpis osiąga woltaż na poziomie 330 pierunów.


O Panie.


A jeszcze niedawno 50 pierunów, to było coś. Ale ten czas zaiwania.


#gownowpis #hejto #nostalgia

@vrkr Niby spoko, ale ja jak mam jakiś quest na rozdawanie piorunów to lecę wszystko z góry na dół więc to takie niezbyt organiczne mi się wydaje

Zaloguj się aby komentować

Dostałem bana na reddicie za "grożenie przemocą lub fizyczną krzywdą" ruskim


Ludziom przecież nie groziłem, więc pewnie chodzi o te zwierzęta.


#reddit #gorzkiezale

3c9cfdcf-78d9-4939-b0f1-4b825513005d
a0814b05-ad15-4162-b8f8-ff4a58d41d9f

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Hej ludzie internetolandu! Taka mam rozkmine:

1. JD Vance odwiedza papieża

2. Papieżak umiera.

3. Trump wstawia w internety zdjęcie jako papież.

4. Amerykanin zostaje nowym Papierzakiem.


Przypadek

#teoriespiskowe #heheszki #gownowpis

13399fb8-9325-445e-a8b9-67291269eb4a
98fe5847-cc85-4ff4-aa54-9b11690e5d8a

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

bobikraj wytatuował sobie na ramieniu wiśniewskiego z szlugiem w ryju i ostrym FAS na ryju, co za łeb XD XD XD XD


do tego tatuażysta amator chyba był deko na⁎⁎⁎⁎ny i ostatni portret jaki malował to było w podstawówce na plastyce, ja jebe


#patologia #polskiepato #bobikraj #bonzo #kononowicz #bekazpodludzi #tatuaze #heheszki #menele #gownowpis #humorobrazkowy #czarnyhumor #filozofiadlajanuszy #benc

c269ce79-2f3b-4b7b-9ef8-d7526e65439a
7af42089-fb83-4e1e-b6e8-033916f574a9

Zaloguj się aby komentować