devwolf
V2EX  ›  Node.js

请教一下一个使我震惊的 js 语法 ?.(没错,看起来很像三目但却不是:而是.)

  •  1
     
  •   devwolf · Apr 16, 2020 · 17347 views
    This topic created in 2257 days ago, the information mentioned may be changed or developed.
    举例
    let a = {a:"1",b:"2"}
    console.log(a?.a)

    契机:另一个组的同事在一个 angular 项目里发现了这个语法的使用,
    通过关键字查了一下也就这么个 csdn 的结果
    《 angular 中的 ? 和 !》 https://blog.csdn.net/weixin_30908941/article/details/95594290

    里面除了交代?可以判断前面的变量是否为 null 或 undefined 再执行后面,还有个!判断后面键所对应的值是否为 null 或 undefined,不过没有成功在 js 里再现这个!。

    就我个人在网上的搜索结果来看,感觉这个?.的写法比!!还要冷门,用途的效果上个人感觉类似 react 写 jsx 进行页面渲染时的&&或者?:

    当然,我自己的这些肤浅猜测总结也没什么营养,还请各位有了解或者感兴趣的分析一波这个?.吗
    106 replies    2020-04-17 19:57:29 +08:00
    1  2  
    2bNot2b
        101
    2bNot2b  
       Apr 17, 2020
    @yaphets666 自信点 把不是去了 (滑稽)
    gauzung
        102
    gauzung  
       Apr 17, 2020
    这个语法糖太甜了吧!!!
    theohateonion
        103
    theohateonion  
       Apr 17, 2020
    @apeople ts 使用并不需要 babel 插件,3.7 以后就支持了。
    theohateonion
        104
    theohateonion  
       Apr 17, 2020
    BTW. optional chaining 而已,有这么震惊吗?
    Hzz123
        105
    Hzz123  
       Apr 17, 2020
    ?.链式运算符
    ??判断运算符
    正好在读 es6 的文档 看到阮一峰写了 这都是 es2020 新增的东西
    apeople
        106
    apeople  
       Apr 17, 2020
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   859 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:47 · PVG 06:47 · LAX 15:47 · JFK 18:47
    ♥ Do have faith in what you're doing.