どちらのコードが高速ですか?または演算子対3項演算子
三項演算子
action = typeMap[type] ? typeMap[type] : typeMap['default'];
Or演算子
action = typeMap[type] || typeMap['default']
ありがとうございます!
どちらのコードが高速ですか?または演算子対3項演算子
三項演算子
action = typeMap[type] ? typeMap[type] : typeMap['default'];
Or演算子
action = typeMap[type] || typeMap['default']
ありがとうございます!
スピードはここでは問題ありませんが、速度は同等で、どれもコードフローのボトルネックになることはありません。彼らは条件を確認しながら、少し違った行動をします。
実際の質問はここにあります:これは誰か読みやすくなります?誰か(またはあなた自身)がこのコードを読んでいれば、どちらを理解できるでしょうか?
それはエレガントではないかもしれないとしても、おそらくいくつかの例では、次のようなソリューションは、このソリューションはまた、真実ことを考えると、あなたはcoditionのより正確な検査を行うことができます
var action = typeMap['default'];
if (typeMap[type]) {
action = typeMap[type];
}
より良いかもしれませんJavaScriptのテーブルが難しいかもしれません。
私はこのソリューションが優れていると言っているわけではありません。自分の状況によってどれが読みやすくなっているかを検討してください。
[馬に乗って](https://ericlippert.com/2012/12/17/performance-rant/) – Sayse
彼らは違いがあります。 – user7393973
http://softwareengineering.stackexchange.com/questions/82593/javascript-ternary-operator-vs –