听北风 2021-02-20 11:48 采纳率: 100%
浏览 44
已采纳

关于JavaScript语法问题

  let { query, pathname } = url.parse(req.url, true);这样的语法应该怎么理解??

  • 写回答

1条回答 默认 最新

  • 幻灰龙 2021-02-20 11:58
    关注

    url.parse 返回的是一个对象,这个对象里含有querey, pathname属性,原来你应该这么写:

    let ret = url.parse(req.url,true)
    
    let query = ret.query;
    
    let pathname = ret.pathname;

    ES6提供了对象解构赋值语法,支持直接从对象结构出含有的属性,语法是:

    let {var1, var2} = {var1:…, var2:…}

    因此,上面的代码简化为

    let { query, pathname } = url.parse(req.url, true);

    当然,如果url.parse返回了null/undefined,上述代码会报错,所以使用解构赋值前最好判断下是否为null

    let ret = url.parse(req.url, true);
    
    if(ret==null){
      return;
    }
    
    let {query, pathname} = ret;
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥15 帮我写一个c++工程