誰かが私にこの JS 短縮コードを説明してくれますか?
navigator.sayswho = (function(){
var N= navigator.appName, ua= navigator.userAgent, tem;
var M= ua.match(/(opera|chrome|safari|firefox|msie|Trident)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M= M? [M[1], M[2]]: [N, navigator.appVersion,'-?'];
return M;
})();
コードは機能していますが、特に次の行がどのように機能しているか理解できません。
M= M? [M[1], M[2]]: [N, navigator.appVersion,'-?'];