js中,双问号??和双竖杠||的区别

js中,双问号??和双竖杠||的区别:
它们的共同特点是语法一样,前面是值,后面也是值,中间是符号;
都是根据前面的值来决定到底取前面还是取后面。

双竖杠||,只要前面的值转为布尔值为false时,就取后面,否则取前面,如undefined、null、false、空字符串和数值0

而双问号则为:前面的值为null、undefined,则取后面的值,否则都取前面的值。

由此可以发现,双问号??更加适合在不知道变量是否定义时,或者是否赋值时的场景来使用。

猜你喜欢

转载自blog.csdn.net/qq_26642611/article/details/111150077