解决 type check failed for prop “disabled“. Expected Boolean, got String with value “36“问题

文章讲述了在遇到Vue组件中prop警告时,如何通过使用双重逻辑非运算符(!!)来解决。当传递的值类型与组件要求不符时,会出现警告。双重逻辑非运算符能将任何类型转换为布尔值,以适应组件需求,避免警告出现。同时,提醒读者在使用此方法时要理解转换行为,防止意外结果。
摘要由CSDN通过智能技术生成

解决prop警告问题

这种警告虽然不影响代码的运行,但是一直爆红看着也挺烦,一般当我们使用他人的组件时,传递类型时,和要求传入的类型不符合时,会出现这种情况

如下:

在这里插入图片描述

这个代码中,直接传入的id并不是一个布尔值,所以浏览器会一直弹出警告

解决方法:在$route.query.id之前加上双重逻辑非运算符(!!)即可

在这里插入图片描述

这样处理之后,控制台就不会一直弹出警告了。

双重逻辑非运算符的作用

双重逻辑非运算符的作用是将一个值转换为布尔类型,它会执行以下转换规则:

  • 如果值为布尔类型,直接返回其对应的布尔值。
  • 如果值为非布尔类型,则先将其转换为布尔类型,然后再进行逻辑非运算。

示例代码如下:

const value1 = 'hello';
const value2 = 0;
const value3 = {};
const value4 = null;
const value5 = undefined;

const booleanValue1 = !!value1;
const booleanValue2 = !!value2;
const booleanValue3 = !!value3;
const booleanValue4 = !!value4;
const booleanValue5 = !!value5;

console.log(booleanValue1); // 输出: true
console.log(booleanValue2); // 输出: false
console.log(booleanValue3); // 输出: true
console.log(booleanValue4); // 输出: false
console.log(booleanValue5); // 输出: false

在上述代码中,我们使用双重逻辑非运算符将不同类型的值转换为布尔类型。非布尔类型的值通过逻辑非运算先转换为对应的布尔类型,然后再输出转换后的结果。

注意:

值得注意的是,双重逻辑非运算符是一种快速而简洁的将其他类型转换为布尔类型的方法。但在使用时,应确保理解了转换的行为,以免产生意想不到的结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值