关于!!+Cookies.get(‘sidebarStatus‘)讲解

  • Post author:
  • Post category:其他




问题引入



vue-element-admin

框架中, vuex的app子模块中有这段代码:

opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,

其中的

!!+Cookies.get('sidebarStatus')

, 看到的第一眼令人费解




作用及文件位置



作用

  • 控制左侧的

    “侧边导航栏”

    的展开和折叠
  • 在这里插入图片描述



文件位置

在这里插入图片描述




!!+Cookies.get(‘sidebarStatus’)



详细详解

  1. Cookies.get(‘sidebarStatus’))的意思是取出来的是

    "0"
  2. +Cookies.get(‘sidebarStatus’)的意思是

    +"0"

    , 触发隐式类型转换, 会得到

    0
  3. !+Cookies.get(‘sidebarStatus’))的意思是

    !0

    , 对数值类型取反会返回布尔类型, 会得到

    true
  4. !!+Cookies.get(‘sidebarStatus’)的意思是

    !true

    , 对布尔的true进行取反, 会得到

    false



总结

由于cookie取出的值都是string类型, 但是代码中需要用的是布尔类型,


!!+

会把字符串的

“0”

, 转成

false

,

或者把 字符串的

“1”

, 转成

true



版权声明:本文为weixin_46873254原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。