我已经看到了,但不确定是什么意思

时间:2019-07-30 23:27:28

标签: javascript

我一直在研究一些javascript代码,并注意到这不确定它的作用以及为什么要使用它

let reset = function(a, b){
    b || (b = something, b.somethingelse && (b.other = b.somethingelse)) //....
    //some other code underneath
}

如果可以帮助我理解这一点,那就太好了

2 个答案:

答案 0 :(得分:2)

这是以下版本的缩小版本:

let reset = function(a, b) {
  if (!b) {
    b = something;
    if (b.somethingelse) {
      b.other = b.somethingelse;
    }
  }
  //some other code underneath
}

最小化版本(取决于comma operator||&&的组合,如果进行if测试则完全不可读),但是节省了脚本通过Internet发送给用户时的字节数。尝试找出和调试代码时,最好阅读 source ,而不是精简版。

答案 1 :(得分:0)

上面是此版本的缩小版本:

let reset = function(a, b) {
  if (!b) {
    b = something;
    if (b.somethingelse) {
      b.other = b.somethingelse;
    }
  }
  //some other code underneath
}

如何检出http://www.jsnice.org/,即使在使用变量名的情况下,也可以很好地使代码最小化