de-a lungul zilelor mele de codificare în JavaScript, m-am trezit constant discutând dacă să folosesc un caz de comutare sau o declarație if else pentru condiționalul meu. Deci, în mod natural, am decis să scriu un blog pentru a cântări diferențele (pentru mine & tu) și a vedea care este mai bun în circumstanțe specifice.
o declarație de comutare este de obicei mai eficientă decât un set de if imbricate. Când trebuie să alegeți pe care să o utilizați, se bazează pe lizibilitate și pe expresia pe care o testează declarația.
practic, un if else este folosit pentru a lua o decizie în timp ce o declarație de comutare este utilizată pentru a testa valoarea variabilei date împotriva unei liste de valori de caz .
- expresia din interiorul unei instrucțiuni if decide dacă să execute instrucțiunile din interiorul blocului if sau sub blocul else. Pentru switch, instrucțiunea expression inside switch decide ce caz să execute.
- declarația if-else verifică egalitatea, precum și expresia logică. Pe de altă parte, comutarea verifică numai egalitatea.
- instrucțiunea if evaluează tipul întreg, caracterul, indicatorul sau tipul în virgulă mobilă sau tipul boolean. Pe de altă parte, instrucțiunea switch evaluează numai caracterul sau un tip de date întreg.
- secvența de execuție este ca oricare dintre instrucțiuni Sub dacă block va executa sau declarații sub else block statement va executa. Cu toate acestea, expresia din Instrucțiunea switch decide ce caz să execute și dacă nu aplicați o declarație break după fiecare caz, aceasta va executa până la sfârșitul declarației switch.
- pentru o declarație if-else, dacă expresia din interiorul if se dovedește a fi falsă, declarația din interiorul blocului else va fi executată. Pentru instrucțiunea switch, dacă expresia din interiorul instrucțiunii switch se dovedește a fi falsă, atunci sunt executate declarațiile implicite.
- se știe că este dificil să editați declarațiile if-else, deoarece este obositor să urmăriți unde este necesară corecția. Mulți oameni sunt de acord că este mult mai simplu să editați declarațiile switch, deoarece sunt ușor de urmărit.
Iată aspectul general al unei declarații if-else versete cazul switch:
aceasta este sintaxa generală a unei declarații if-else:
și aceasta este sintaxa generală pentru switch:
scara if-else este de tip verificare strictă a stării, în timp ce switch este de tip salt valoare de capturare.
câteva avantaje cheie ale comutării pe scara if-else:
- o declarație de comutare funcționează mult mai repede decât o scară echivalentă if-else. Este pentru că compilatorul generează o masă de salt pentru un comutator în timpul compilării. Drept urmare, în timpul executării, în loc să verifice ce caz este satisfăcut, decide doar ce caz trebuie executat.
- este mai ușor de citit în comparație cu declarațiile if-else.
în cele din urmă, alegerea este a ta și sper că acest blog vă ajută să vă conducă pe calea cea bună de a lua cea mai informată decizie atunci când să utilizați o declarație if-else versete un caz de comutare!