clean-cssというNode.js製のCSS圧縮ライブラリがあるのですが、これの圧縮率が最高で、是非ともPHPで利用したいと考えました。
そこで現在、このライブラリをPHPに書き直しているのですが、一部意図の不明な記述がありました。
例えば以下のコードですが、~
を二重で利用しています。
clean-css/rgb.js at master · jakubpawlowicz/clean-css
lang
1function RGB(red, green, blue) { 2 this.red = red; 3 this.green = green; 4 this.blue = blue; 5} 6 7RGB.prototype.toHex = function () { 8 var red = Math.max(0, Math.min(~~this.red, 255)); 9 var green = Math.max(0, Math.min(~~this.green, 255)); 10 var blue = Math.max(0, Math.min(~~this.blue, 255)); 11 12 // Credit: Asen http://jsbin.com/UPUmaGOc/2/edit?js,console 13 return '#' + ('00000' + (red << 16 | green << 8 | blue).toString(16)).slice(-6); 14}; 15 16module.exports = RGB;
~~foo
のような記述を行う意図は何でしょうか?
簡易的に検証した所、+foo
のように文字列を数値に変換しているのですが、NaN
に変換されるような場合に0
になるようです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。