javascript里的??的意思及作用

JavaScript里的 ?? 表达式:
作用:

三元表达式的简写

三元表达式的写法:

表达式 ? 表达式为真执行的 : 表达式为假执行的
??的写法:
表达式为真执行的 ?? 表达式为假执行的

它类似于||表达式,只不过||会做隐式类型转换,而??不会做隐式类型转换

关于 && 和 || 的深度用法请看:

彻底了解“||”和“&&”

??的实战运用:
const defaultVal = 5;
function add(num1, num2) {
	//如果调用add函数的时候传递了第二个参数那么就用第二个参数
	//如果没传递第二个参数就用上方定义的默认值
	num2 = num2 ?? defaultVal;
	return num1 + num2;
}
add(1)	//结果为6

一般情况下给固定的默认值不需要用??,因为ES6支持函数参数给默认值

但是如果想要默认值为react的this.state这样的值的时候就需要用??表达式了。

朋友们可以在babeljs里面测试此代码,项目中想要使用的话需要引入babeljs:
在这里插入图片描述

希望这篇文章能够帮助到你。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值