哪一段代码更快,或者更好?
三元运营商
action = typeMap[type] ? typeMap[type] : typeMap['default'];
或运营商
action = typeMap[type] || typeMap['default']
谢谢!
答案 0 :(得分:0)
速度不是问题,它们同样快,并且它们都不会导致代码流中的瓶颈。但是在检查条件时它们的行为略有不同。
真正的问题是:哪一个更具可读性?如果有人(或你自己)会阅读这段代码,哪一个更容易理解?
即使它可能不优雅,也许在某些情况下可能会有更好的解决方案
var action = typeMap['default'];
if (typeMap[type]) {
action = typeMap[type];
}
这个解决方案还允许你对编码进行更精确的检查,因为javascript中的真值表可能很棘手。
我不是说这个解决方案更好,只要考虑哪种解决方案在您的情况下更具可读性。