2017-02-17 2 views
-3

Welcher Code ist schneller oder besser?Oder Operator vs. Ternäroperator


Ternary Betreiber

action = typeMap[type] ? typeMap[type] : typeMap['default']; 

oder Betreiber

action = typeMap[type] || typeMap['default'] 

Thank you!

+3

[Rennen die Pferde] (https://ericlippert.com/2012/12/17/performance-rant/) – Sayse

+0

Sie haben einen Unterschied. – user7393973

+3

http://softwareengineering.stackexchange.com/questions/82593/javascript-ternary-operator-vs –

Antwort

0

Geschwindigkeit ist hier nicht das Problem, sie sind gleich schnell und keiner von ihnen kann einen Engpass in Ihrem Code-Flow verursachen. Sie haben jedoch ein etwas anderes Verhalten, wenn sie den Zustand überprüfen.

Die wirkliche Frage ist hier: welche ist besser lesbar? Wenn jemand (oder Sie selbst) diesen Code lesen würde, welcher wäre verständlicher?

Auch wenn es nicht elegant sein kann, vielleicht eine Lösung wie die folgenden in einigen Fällen könnte besser sein

var action = typeMap['default']; 
if (typeMap[type]) { 
    action = typeMap[type]; 
} 

Diese Lösung ermöglicht Ihnen auch eine genauere Kontrolle der codition zu tun, da die Wahrheit Tabelle in Javascript kann schwierig sein.

Ich sage nicht, diese Lösung ist besser, nur überlegen, welche in Ihrer Situation besser lesbar ist.

+0

Ich denke du hast Recht. Ich danke dir sehr. – OBellon

+0

Ich war völlig falsch, testete es mit anderen Werten, immer noch das gleiche Ergebnis. – AymDev

+0

Vielen Dank, dass Sie darauf hingewiesen haben. Ich habe Ihre Antwort nicht getestet. Wie auch immer, danke fürs Teilen. –

Verwandte Themen