JS n’est pas un langage de programmation, mais un ensemble de gros hacks empilés les uns sur les autres, sans aucune logique ni cohérence.
En ECMAScript4/as3 :
if(d is Date) {}
En ECMAScript3/5/whatever :
if(Object.prototype.toString.call(d) === ’[object Date]’) {}