【前端】降低代码复杂度,解构+给默认值

参考资料:https://www.cnblogs.com/ly0612/p/11988543.html

// response 是来自接口的数据
const response = {
    code: 200,
    msg: 'message',

    // 一个完整的测试用例
    // data: {
    //     total: 100,
    //     page: 1,
    //     pageSize: 10,
    //     content: [1, 2, 3],
    //有用的就下面两行
    //     retcode: 0,
    //     result: {
    //         room_list: 5,
    //     }
    // }

    // 把下面两行删掉了的测试数据
    // data: {
    //     total: 100,
    //     page: 1,
    //     pageSize: 10,
    //     content: [1, 2, 3],
    // }

    data: undefined, // null不行
}

const { data = {} } = response;
const { retcode, result = {} } = data;
const { room_list } = result;
console.log(retcode===0);
console.log(room_list);
console.log(retcode === 0 && room_list)
// 下面是老版本的写法:
const data = response.data || {};

但是老版本的写法里,判断response.data是不是true(如空字符串等情况下),也会返回兜底值

原文地址:https://www.cnblogs.com/kinologic/p/15007320.html