Wpis z mikrobloga

@zwei: Masz rację dzięki, kompilator jak sprawdzi że jest null to nie będzie sprawdzał drugiego warunku

Ale zaraz a w drugiej opcji nie byłoby to samo tzn skoro
this.filterInitialValue === null to prawda to drugiego warunku już by nie sprawdzał?
@Let_Me_2_Be: nie byłoby to samo, jeżeli ta wartość byłaby undefined, to w pierwszym sprawdziłby, czy null, nie - więc przechodzi do następnego, następny jest równoważny nieprawdzie logicznej sam z siebie - więc całość jest false.

W drugim przypadku przy drugim sprawdzeniu undefined === undefined, wszystko gra, prawda.
@Let_Me_2_Be: różni się tym, że wartość może być falsy albo truthy.

W przypadku if (value !== null) masz sprawdzane tylko czy wartość nie jest nullem.

W przypadku if (value) sprawdzasz, czy wartość nie jest 0, nie jest false, nie jest undefined, nie jest null, itd. itp.
@Let_Me_2_Be: sporo osób odpowiedziało tutaj praktycznie, to ja może uzupełnię trochę teorii.

if (this.filterInitialValue === null || undefined)

To co zaznaczyłem tu pogrubionym to jest tak zwane wyrażenie (z ang. fog of... a nie czekaj to nie to - z angielskiego "expression"). Inny przykład wyrażenia to:

const value = 10 + 5;

Na powyższym przykładzie, oczywistym jest, że wartością zmiennej value nie będzie 10+5, tylko 15. Gdy interpreter napotka wyrażenie,