~(function() {}).toString();
est absolument valide syntaxe JavaScript et j'ai vu qu'il renvoie -1
.Pourquoi l'opérateur ~ renvoie -1 pour une fonction en Javascript?
Je sais que ~
n'est pas opérateur. Par exemple ~5
= ~0101
ce qui signifie 1010
en base 2 et 10
en décimal.
console.log(~(function() {}).toString());
Mais quelle est l'explication dans cette situation?
Peut-être que ~NaN
renvoie -1
.
Explication: https://www.joezimjs.com/javascript/great-mystery-of-the-tilde/ –
Ce même si vous J'essaierai de le faire avec 'NaN' comme si' (NaN) 'donnerait le même résultat. – Krusader