哪一段代码更快,或只是更好?或运营商与三元运营商
三元操作符
action = typeMap[type] ? typeMap[type] : typeMap['default'];
或者运营商
action = typeMap[type] || typeMap['default']
谢谢!
哪一段代码更快,或只是更好?或运营商与三元运营商
三元操作符
action = typeMap[type] ? typeMap[type] : typeMap['default'];
或者运营商
action = typeMap[type] || typeMap['default']
谢谢!
速度在这里不是问题,它们同样快速,它们都不会导致代码流的瓶颈。虽然检查条件,他们有一个稍微不同的行为。
这里真正的问题是:哪一个更具可读性?如果某人(或你自己)会阅读这段代码,哪一个更容易理解?
即使它可能不是优雅,也许像一个解决方案在某些情况下可以更好地
var action = typeMap['default'];
if (typeMap[type]) {
action = typeMap[type];
}
该解决方案还允许你做的codition更精确的检查,因为真相在javascript中的表可能会很棘手。
我并不是说这个解决方案更好,只是考虑哪一个更适合您的情况。
[赛马](https://ericlippert.com/2012/12/17/performance-rant/) – Sayse
他们有区别。 – user7393973
http://softwareengineering.stackexchange.com/questions/82593/javascript-ternary-operator-vs –