2017-08-28 30 views
0

我刚刚注意到大多数缩小库的一些有趣的东西。缩小带来静态变量左侧的比较

这是从angular.js

function isNumber(value) {return typeof value === 'number';} 

的方法正如你可以看到typeof value值是在源代码比较的左侧。但是在缩小后它看起来像这样。

function Q(a){return"number"===typeof a} 

现在的静止构件是在所述比较的左侧上精缩代码angular.min.js。

evaluated value === static比较的所有情况都转换为static === evaluated value

我只是想了解它的原因。对于可靠性或性能还是其他方面更好?

回答

2

它只是更短。如果它留在原来的顺序,那就return后需要一个空间:

function Q(a){return typeof a==="number"} 

但周围number报价是令牌的分隔符,因此需要的空间。上面的行比缩小版本长一个字符。

+0

有时,[Yoda](https://en.wikipedia.org/wiki/Yoda_conditions)缩短为... – Cerbrus

1

因为JavaScript引擎允许返回语句后面没有空格的字符串。而这只是...节省空间。