首页
学习
活动
专区
圈层
工具
发布

如何优雅判断属性值为空

假设我们现在需要取出 a.b.c,但是并不清楚它们是否都存在,那么代码会写成这样: if (a && a.b) { const c = a.b.c } 其实这样的代码在项目中出现的频率是很高的,如果需要取的值层级过深的话...undefined : a.b.c 虽然编译后的代码看着有点啰嗦,但是确实很优雅的解决了判空的问题。...不过可选链在某些场景下还是存在坑的,比如如下代码: const a = { b: { c: false } } 假如说我们希望在取值 a.b.c 中给 c 设置一个默认值 true /...c || true 但是在这个场景下就会出现 Bug,预期值是 false,结果答案为 true。 解决这个问题也很简单,再引入一个新语法双问号即可。...这个语法的作用和 || 是类似的,但是只有当取值为 null 或者 undefined 时才会使用默认值。 // false const c = a?.b?.c ??

5.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mybatis查询结果为空时,为什么返回值为NULL或空集合?

    最后返回映射的结果对象,如果没有映射任何属性,则需要根据全局配置决定如何返回这个结果值,这里不同场景和配置,可能返回完整的结果对象、空结果对象或是 null。...主要检测以下两个地方: 检测当前使用的 ResultMap 是否配置了 autoMapping 属性,如果是,则直接根据该 autoMapping 属性的值决定是否开启自动映射功能。...回归最初的问题:查询结果为空时的返回值 | 返回结果为单行数据 可以从 ResultSetHandler的handleResultSets 方法开始分析。...所以不管是集合类型还是普通对象,Mybatis 都会先初始化一个 List 存储结果,然后返回值为普通对象且查为空的时候,selectOne 会判断然后直接返回 NULL 值。...而返回值为集合对象且查为空时,selectList 会把这个存储结果的 List 对象直接返回,此时这个 List 就是个空集合。

    7.8K20

    在DAX里将空值或0显示为减号?这个问题可能困扰不少人!

    - 问题 - 近期碰到个很有意思的例子,一个度量值,其中判断某个值为0时,结果用减号“-”表示,不是0时执行相应的除法: 但是,明明用条件设置了这里应该显示为减号(“-”),但结果却显示为...换成其他的字符就不会,即使是换成“+”,比如: - 尝试 1 - 那如果就是想表示成“-”的样子,该怎么办?...应该跟这个问题类似:《PP-数据建模:明明删除了重复项,为什么还是说有重复值?》,但在DAX公式里面,可以理解为符号前后的空格是不影响计算结果的。...这个时候,根据对计算机字符集的了解(又是经验),可以加上一个不可见字符,如UNICODE字符集里第9个,如果在Excel的传统表格或Power BI里,可以轻松用UNICHAR(9)得到,可惜,在Excel...先在Excel的传统表格里生成一个不可见字符,然后复制粘贴到DAX公式里: 好了,问题终于解决了,顺带,如果想要换行符,用unichar(10)……

    4.6K20
    领券