解构赋值的理解

为什么会想说解构赋值

因为我第一次真实的用到代码中 之前都是在说面试题的时候理解到位

javascript 复制代码
https://editor.csdn.net/md/?not_checkout=1&spm=1018.2226.3001.4503&a=1&b=2&c=4&d=5

比如说 现在后端给了我一个链接 然后请求接口的时候把链接上的东西都带过去这个时候我就想到截取 但是怎么截取合适呢 就遇到了解构赋值

javascript 复制代码
function getQueryParams(url) {
    // 创建一个空对象来存储查询参数
    const queryParams = {};
    
    // 使用 URL 构造函数解析 URL
    const parsedUrl = new URL(url);
    
    // 获取查询参数部分
    const searchParams = new URLSearchParams(parsedUrl.search);
    
    // 遍历查询参数并将其添加到对象中
    for (const [key, value] of searchParams.entries()) {
        queryParams[key] = value;
    }
    
    return queryParams;
}

如上述 const [key, value] of searchParams.entries() 就是运用到了解构赋值

如果说上面代码看不懂 可以看下面

javascript 复制代码
function getQueryParams(url) {
    // 创建一个空对象来存储查询参数
    const queryParams = {};
    
    // 找到问号的位置,截取问号后面的部分
    const queryString = url.split('?')[1];
    
    // 如果没有查询参数,直接返回空对象
    if (!queryString) {
        return queryParams;
    }
    
    // 将查询字符串按 & 分割成数组
    const pairs = queryString.split('&');
    
    // 遍历每个键值对
    pairs.forEach(pair => {
        // 将键值对按 = 分割
        const [key, value] = pair.split('=');
        // 将键值对添加到对象中 
        queryParams[key] = value;
    });
    
    return queryParams;
}

解构赋值就是允许你从数组或对象中提取值,并将这些值直接赋给一个或多个变量。这种语法使得从复杂数据结构中提取数据变得更加简洁和灵活,提高了代码的可读性和可维护性。

相关推荐
英俊潇洒美少年5 分钟前
Vue3 响应式 + 编译优化 + Diff 三者如何配合工作
前端
英俊潇洒美少年6 分钟前
Vue3 完整渲染流程(从 createApp → mount → update → unmount)
前端·javascript·vue.js
前端Hardy12 分钟前
Pinia 比 Vuex 好用 10 倍?Vue3 状态管理终于不折磨人了!(新手复制即用)
前端·javascript·vue.js
前端Hardy19 分钟前
Vue3 的 v-model 双向绑定,90% 的人都用错了?(附 2026 最新避坑指南)
前端·javascript·vue.js
前端Hardy20 分钟前
救命!Vue3 的 Composition API,居然能让我少写 80% 冗余代码?(新手也能直接抄)
前端·javascript·vue.js
李剑一22 分钟前
前端必懂!一文搞懂 WebAssembly:Web/Electron/RN 全通用,你天天用的软件,底层都靠它
前端·webassembly
Definition33 分钟前
Claude Code 能养宠物了,体验下抽卡的感觉
前端·程序员
Daiyaosei38 分钟前
紧急安全警报:Axios npm 包被投毒事件详解与防护指南
前端·javascript·安全
We་ct43 分钟前
LeetCode 295. 数据流的中位数:双堆解法实战解析
开发语言·前端·数据结构·算法·leetcode·typescript·数据流
青槿吖1 小时前
第一篇:Redis集群从入门到踩坑:3主3从保姆级搭建+核心原理一次性讲透|面试必看
前端·redis·后端·面试·职场和发展·bootstrap·html