当等价的if语句起作用时,switch语句不起作用

A switch statement doesn't work when the equivalent if statement does

本文关键字:语句 switch 不起作用 起作用 if      更新时间:2023-09-26
switch(type)
{
    case 'home':
         console.log('home switch');
         break;
}

上面的代码不会向控制台输出,下面的代码也不会:

switch(type)
{
     case "home":
         console.log('home switch');
         break;
}

但是,下面的语句可以:

if (type == 'home')
{
     console.log('home if');
}

我不知道为什么。这不是一个节目的结尾,我可以使用if语句代替,但我真的很好奇为什么会这样。

注意:这些语句是一个直接的替换,这里没有其他考虑。作用域没有变化,没有我没有提到的可能干扰type值的代码。

这不是等价的if语句。switch语句指定使用严格相等的===运算符