美文网首页
js嵌套层级优化

js嵌套层级优化

作者: 泪滴在琴上 | 来源:发表于2020-08-10 10:44 被阅读0次
    function supply(fruit, quantity) {
        const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
        // 条件 1: 水果存在
        if(fruit) {
            // 条件 2: 属于红色水果
            if(redFruits.includes(fruit)) {
                console.log('红色水果');
                // 条件 3: 水果数量大于 10 个
                if (quantity > 10) {
                    console.log('数量大于 10 个');
                }
            }
        } else {
            throw new Error('没有水果啦!');
        }
    }
    

    分析上面的条件判断,存在三层 if 条件嵌套。
    如果提前 return 掉无效条件,将 if else的多重嵌套层次减少到一层,更容易理解和维护。
    优化为:

    function supply(fruit, quantity) {
        const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
        if(!fruit) throw new Error('没有水果啦'); // 条件 1: 当 fruit 无效时,提前处理错误
        if(!redFruits.includes(fruit)) return; // 条件 2: 当不是红色水果时,提前 return
        
        console.log('红色水果');
        
        // 条件 3: 水果数量大于 10 个
        if (quantity > 10) {
            console.log('数量大于 10 个');
        }
    }
    

    相关文章

      网友评论

          本文标题:js嵌套层级优化

          本文链接:https://www.haomeiwen.com/subject/hpiddktx.html