prototype.js 1.5.1のソースでこれは何??、と、同僚に聞かれた。
Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1 },
論理否定演算を二回行っていて一瞬ナンダコレと思ったが…にゃるほど。
var isXHRSupported = !!window.XMLHttpRequest
値が定義されていればtrueを取得する、ただそれだけだが、論理否定演算子を二重にする発想は無かった。perlのdefinedみたいのがあればこんな変な書き方もする必要ないんだけど、ちょっと面白いと思った。