【发布时间】:2021-11-20 02:04:02
【问题描述】:
我正在尝试改进我的代码并获得更好的日志记录。
是否有一种理想的方法来判断条件列表中哪些条件为假?
即)
if(isAnimal && isCarnivore && isPlant){
// does something
} else {
// want to console.log all the false conditions in one console.log
}
我们可以写
let falseString = ""
if (!isAnimal) {
falseString = falseString + "is not an Animal";
}
if (!isCarnivore) {
falseString = falseString + "is not a Carnivore";
}
if (!isPlant) {
falseString = falseString + "is not a Plant";
}
console.log("string of false conditions" , falseString)
然后这会记录一个条件为假的字符串,但这似乎是一个幼稚的解决方案。
在 JavaScript 中执行此操作的更好方法是什么?
谢谢!
【问题讨论】:
-
Code Review 是更多基于意见的问题的地方。也就是说,您可以只写
console.log(isAnimal)等等,而不必为每个可能的条件和变量组合编写和连接一个字符串。 -
谢谢。是的,这很好,但在这种情况下,我需要将结果放在一个字符串中,而不是在单独的控制台日志中
-
你能详细说明记录的目的吗?是用于调试还是保存到日志文件以供以后查看?目的极大地影响了可以被认为更好/更有效/等的东西。简而言之:您想要完成的改进是什么?
-
@Philip 目的是为了调试。所以可以跟踪,哪些条件是假的,所以我们知道哪些条件是假的,以及为什么代码进入 else case 而不是 true 分支
-
那么我建议使用一个全局定义的对象,其中包含所有布尔值。这样你就可以用一个简短的语句
console.log他们,并且仍然可以在输出中一次看到所有内容。
标签: javascript string if-statement boolean conditional-statements