Récemment, j'ai trouvé une ligne étrange dans les sources de jQuery (dernière version 1.9.1, paquetage Sizzle, ligne 129 funescape
fonction):
funescape = function( _, escaped ) {
var high = "0x" + escaped - 0x10000;
// NaN means non-codepoint
return high !== high ? // <--- LINE 129
escaped :
// BMP codepoint
high < 0 ?
String.fromCharCode( high + 0x10000 ) :
// Supplemental Plane codepoint (surrogate pair)
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
};
Quelle est la raison de faire une comparaison high !== high
? Il semble évident que return escaped
ne sera jamais exécuté. Ou est-ce que quelque chose me manque?
Référence: https://github.com/jquery/sizzle/blob/master/sizzle.js#L129