V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Leviathann
V2EX  ›  问与答

怎么流畅的写 es6 的解构?

  •  
  •   Leviathann · Aug 26, 2021 via iPhone · 2111 views
    This topic created in 1709 days ago, the information mentioned may be changed or developed.
    字段少的时候还好直接写
    const {a} = obj
    就完了
    字段多的话想利用 lsp 的补全,只能先写
    const {} = obj
    然后把光标移回大括号里,总感觉很不顺畅

    import 的时候也是
    感觉不如那些把需要导入的东西写在最后的语法
    8 replies    2021-09-08 14:54:13 +08:00
    namelosw
        1
    namelosw  
       Aug 26, 2021
    这就是语法设计的时候想得少了,Python import 就故意倒过来 from Foo import Bar,不过解构还是从右往左。

    我一般用 VIM,打完 obj 之后按 Esc F { a 就行了。
    littleTomorrow1
        2
    littleTomorrow1  
       Aug 26, 2021
    用 snippet 去快速输入
    mikulch
        3
    mikulch  
       Aug 26, 2021
    对象、数组解构复制,对象、数组扩展操作符,一直以来傻傻分不清楚
    zxCoder
        4
    zxCoder  
       Aug 26, 2021 via Android
    原来这不是我的问题………我一直以为是我 js 学得不好,又不敢问(因为没认真学,项目能跑就行)
    dablwow
        5
    dablwow  
       Aug 26, 2021   ❤️ 2
    二楼正解,用 snippet,比如 vscode 可以用这个插件
    https://github.com/dsznajder/vscode-es7-javascript-react-snippets

    写对象解构就输入 dob(descrut object),编辑器输入 const {propName} = objectToDescruct,光标先停在 proName,按 tab 再切换到 objectToDescrut 。全程不用按方向键,非常流畅。

    同理,数组解构就是 dar(descrut array),编辑器输入 const [propName] = arrayToDescruct
    3wdddd
        6
    3wdddd  
       Aug 26, 2021
    n 你也太懒了,鼠标一下大括号不行吗
    Leviathann
        7
    Leviathann  
    OP
       Aug 26, 2021   ❤️ 2
    @namelosw
    @littleTomorrow1
    @zxCoder
    @dablwow

    发现 webstorm 的 postfix completion 也可以实现这个功能,
    key 设置成 cd (代表 const desctruct)
    内容设置为
    const {$END$} = $EXPR$

    之后只要 输入 obj.cd 就可以选择补全为 const {} = obj,而且光标在 {} 里面
    grewer
        8
    grewer  
       Sep 8, 2021
    我的 ws 新版本, 自带这功能 , 输入 `props.destruct`, 有时候不用输完, 输入 des 就有了 然后直接回车, 选择就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2442 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 05:10 · PVG 13:10 · LAX 22:10 · JFK 01:10
    ♥ Do have faith in what you're doing.