如何修改JavaScript代码使其在human值为0时打印empty
问题根源
你现有代码的两个条件已经覆盖了所有数字类型的取值范围:
- 当
human是大于10的数字时,走第一个分支 - 当
human是小于等于10的数字时,走第二个分支
不存在同时不满足这两个条件的数字,所以else分支是永远不会执行的死代码,自然打印不出empty。你把human设为0,满足human <=10的条件,所以会输出lesser people。
修复方案
你需要调整第二个判断的条件,给empty对应的场景留出判断空间。比如你预期human为0时输出empty,可以把第二个分支的判断修改为大于0且小于等于10,修改后的代码如下:
let human = 0; if (human > 10) { console.log('Too many people'); } else if (human > 0 && human <= 10) { console.log('lesser people'); } else { console.log('empty'); }
如果你的empty对应其他场景(比如human为null/undefined/空值的情况),也可以根据实际业务逻辑调整判断条件,只要保证前两个判断没有覆盖到你预期走else的场景即可。
内容的提问来源于stack exchange,提问作者Kim
相关产品推荐
相关产品推荐

