下划线的some
和every
功能是否容易受到短路影响?
从阅读源代码看,如果javascript环境没有定义本机some
函数但是定义了本机forEach
方法,则可能会发生这种情况。这会发生吗?我想这很合理,但是在实践中是否会发生?
技术细节支持我上面的想法:
_.some
,则_.forEach
内部使用some
_.forEach
提前短路。它尊重特殊的breaker
返回值。breaker
对象是下划线的内部对象,非下划线函数无法使用。我之所以这样问,是因为有些人要求breaker
在下划线之外提供,以便其他人可以通过forEach
获得休息行为。这是被拒绝的,因为本地forEach
实现(如果可用,则强调委托)将不尊重此约定,并且他们正在努力实现一致的行为。但似乎_.some
和_.every
有相同的不一致问题,对吧?