JavaScript里的 ?? 表达式:
作用:
三元表达式的简写
三元表达式的写法:
表达式 ? 表达式为真执行的 : 表达式为假执行的
??的写法:
表达式为真执行的 ?? 表达式为假执行的
它类似于||表达式,只不过||会做隐式类型转换,而??不会做隐式类型转换
关于 && 和 || 的深度用法请看:
??的实战运用:
const defaultVal = 5;
function add(num1, num2) {
//如果调用add函数的时候传递了第二个参数那么就用第二个参数
//如果没传递第二个参数就用上方定义的默认值
num2 = num2 ?? defaultVal;
return num1 + num2;
}
add(1) //结果为6
一般情况下给固定的默认值不需要用??,因为ES6支持函数参数给默认值。
但是如果想要默认值为react的this.state这样的值的时候就需要用??表达式了。
朋友们可以在babeljs里面测试此代码,项目中想要使用的话需要引入babeljs:
希望这篇文章能够帮助到你。