Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika vrkr w Gównowpis

Gruba ryba

w Gównowpis

15piorunów

Biorę po 100zł (mmm, jak pachnie) i słucham Państwa ( ͡° ͜ʖ ͡°)

i w sumie

Komentarze (12)

Osobistość1piorunów

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

Stop pretending NaN != NaN was a good idea. It wasn't.reddit
GURU3piorunów

@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ć.

Gruba ryba5piorunów

@nbzwdsdzbcps ( ͡° ͜ʖ ͡°)

~ $ node
Welcome to Node.js v23.11.1.
Type ".help" for more information.
> Math.min() > Math.max()
true
> Math.min > Math.max
true

Autorytet3piorunów

@nbzwdsdzbcps jeszcze bym obstawiał, że wszystkie są prawdziwe, ale c wygląda zbyt logicznie jak na js XD

Fanatyk2piorunów

@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.

Fanatyk3piorunów

@vrkr - dobra, AI pociągnęło :face_exhaling:

Gruba ryba0piorunów

>pociągnąłem tylko temat
( ͡° ͜ʖ ͡°)

Fanatyk2piorunów

@vrkr - pociągnąłem tylko temat nie psując zabawy 😛

Lider0piorunów

Komentarz usunięty przez moderatora

Lider0piorunów

Komentarz usunięty przez moderatora

Gruba ryba0piorunów

@deafone a nie, bo javascript ( ͡° ͜ʖ ͡°)