如何同时判断变量等于null和undefined的情况下,赋值0

例如,res?.data?.data === null ? 0 : res?.data?.data

当res?.data?.data === undefined时,如何修改判断条件让它值为undefined时 显示0

要修改条件判断,使得当res?.data?.datanullundefined时都返回0,您可以使用逻辑或操作符(||)来简化三元运算符。逻辑或操作符在nullundefined的情况下会返回第一个真值,否则返回其右侧的表达式。

下面是修改后的代码:

javascript 复制代码
const reporting = res?.data?.data === null || res?.data?.data === undefined ? 0 : res?.data?.data;

解释一下这段代码:

  • res?.data?.data === null || res?.data?.data === undefined:这部分检查res.data.data是否为nullundefined
  • 如果res.data.datanullundefined,条件为真,表达式返回0
  • 如果res.data.data不是null且不是undefined,条件为假,表达式返回res.data.data的值。

这样,无论res?.data?.datanull还是undefinedreporting都将是0。如果它是其他值,reporting将是那个值。

在Vue组件中,通常您会希望reporting是响应式的。因此,如果您在Vue 3的setup函数中,您应该使用ref来创建一个响应式变量:

javascript 复制代码
import { ref } from 'vue';

export default {
  setup() {
    // 假设res是从API响应或props中获取的
    const res = ref(null); // 请根据实际情况初始化

    // 使用ref创建响应式的reporting
    const reporting= ref(
      res.value?.data?.data === null || res.value?.data?.data === undefined ? 0 : res.value?.data?.data
    );

    // 返回包含icon和label的对象数组
    const reportingItem = ref([
      { icon: '', label: `报道: ${reporting.value}` }
    ]);

    return {
      reportingItem,
    };
  },
};

这样,reporting就是一个响应式的变量,它将根据res.data.data的值动态更新。如果res.data.data变为nullundefinedreporting将自动更新为0

相关推荐
进击的小头3 分钟前
创建型模式:简单工厂模式(C语言实现)
c语言·开发语言·简单工厂模式
汉堡go4 分钟前
python_chapter6
前端·数据库·python
wusp199410 分钟前
v-model 和 :value 的深度解析
前端·javascript·vue.js
2501_9444241213 分钟前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌表情图案
开发语言·javascript·flutter·游戏·harmonyos
爱吃大芒果13 分钟前
Flutter for OpenHarmony前置知识:Dart 语法核心知识点总结(上)
开发语言·flutter·dart
2501_9444241214 分钟前
Flutter for OpenHarmony游戏集合App实战之数字拼图打乱排列
android·开发语言·flutter·游戏·harmonyos
Code知行合壹16 分钟前
Vue项目中SVG图标
前端·vue.js
运维行者_16 分钟前
OpManager 对接 ERP 避坑指南,网络自动化提升数据同步效率
运维·服务器·开发语言·网络·microsoft·网络安全·php
SJLoveIT19 分钟前
【安全研发】CSRF (跨站请求伪造) 深度复盘与防御体系
前端·安全·csrf
pas13629 分钟前
34-mini-vue 更新element的children-双端对比diff算法
javascript·vue.js·算法