Tak więc zajmuję się pisaniem nieco bardziej złożonej operacji z operatorami logicznymi w instrukcji if-else. Wiem, że mogę robić nawiasy i wiem, że to jest lepszy sposób na zrobienie tego, ale jestem ciekawy i dlatego zamierzam zapytać. Jeśli miałbym zrobić coś takiego:Który operator logiczny ma pierwszeństwo
if (firstRun == true || selectedCategory != undefined && selectedState != undefined) {
//Do something
} else {
//Do something else
}
Jak to będzie obsługiwane bez użycia nawiasów? Wiem, że istnieje kolejność operacji dla operatorów logicznych, podobnie jak w PEMDAS, prawda? Jestem ciekawy, czy to będzie prowadził coś takiego:
firstRun == true || (selectedCategory != undefined && selectedState != undefined)
lub może jeśli Operator „lub” ma pierwszeństwo zamiast i kończy się dzieje jak:
(firstRun == true || selectedCategory != undefined) && selectedState != undefined
pełną lista ta będzie bądź miły, jeśli możesz go gdzieś znaleźć, o kolejności operacji. Dzięki!
Dokładnie to, co było potrzebne; dzięki – JTApps
Co powiesz na "nowy"? Ma taki sam priorytet jak dostęp do elementu i wywoływanie funkcji, więc zakładam, że oznacza to od lewej do prawej? 'new Foo(). bar()' jest równoważne '(nowemu Foo()). bar()'? A 'new Foo() (3)' jest równoważne '(new Foo()) (3)'? – chharvey