switch 的块级作用域

今天同事在 case 语句加了一个花括号{} ,我感到挺诧异的,问了他为什么要这么干?原来他是为了实现 case 语句的块级作用域,可以解决命名的苦恼,这是一个好的实践,值得推荐。

function foo(condition) {
            switch (condition) {
                case 1: {
                    let a = 1;
                    break
                }
                case 2: {
                    let a = 2
                    console.log(a)
                    break;
                }
            }
        }

foo(2)
继续阅读“switch 的块级作用域”