来自维基百科:
懒惰的评价是:
在编程语言理论中,惰性求值或按需调用是一种求值策略,它将表达式的求值延迟到需要它的值为止
短路评估为:
短路求值、最小求值或麦卡锡求值表示某些编程语言中某些布尔运算符的语义,其中仅在第一个参数不足以确定表达式的值时才执行或评估第二个参数
那么它们之间有什么区别,例如当我有:
if(false && true && true) {
//boo
}
据我所知,编译器不会在之后执行表达式,false
因为我有&&
所以整个表达式将是false
最终的。(对?)
那么这种行为称为延迟评估还是短路评估?