2017-08-28 32 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引擎允許返回語句後面沒有空格的字符串。而這只是...節省空間。