这是很多语言的老毛病了,浮点数精度问题
为什么会产生这个问题,请看这里:https://www.runoob.com/w3cnote/js-precision-problem-and-solution.html
具体解决方法可以看这里:https://github.com/daily-interview/fe-interview/issues/63
这里优先执行+ - / * 运算
所以执行顺序是 这样
0-b=-1
a??-1=3
3??0=3
https://blog.csdn.net/yun_master/article/details/115015113
let a = "2"
let b = "1";
console.log((a ?? 0) - (b ?? 0))
套一层括号就好,运算优先级的问题
可以去看看运算符优先级及“+”运算相关知识