Fonction instanceof Date

by toubia95

JavaScript

/* 
http://tobyho.com/2011/01/28/checking-types-in-javascript/ 
http://stackoverflow.com/questions/899574/which-is-best-to-use-typeof-or-instanceof
*/

/*
conserver : 
    (isd(mydate)) pour les dates
    (isi(mydate)) pour les nombres entiers
    (!mydate) pour null
    (mydate) pour undefined
    
*/
function isd(a) {return a instanceof Date;}
function isf(b) {return isFinite(b);}
function isn(c) {return typeof c == 'number';}
function isi(d) {return parseInt(d);}

/*
var data = -56;
if (data === parseInt(data))
            alert("data is integer")
        else
            alert("data is not an integer");
            */

var mydate;
var mydate = 2;
(mydate) ? console.log(mydate+' est défini !'):console.log(mydate+' n\'est pas défini !');
mydate = null;
mydate = 2;
(!mydate) ? console.log(mydate+' est null !'):console.log(mydate+' n\'est pas null !');
mydate = new Date(1972, 8 - 1, 5);
mydate = 2;
(isd(mydate)) ? console.log(mydate+' est une date !'):console.log(mydate+' n\'est pas une date !');
mydate = 54.5;
//mydate = '54.5';
//mydate = undefined;
mydate = null;
(isf(mydate)) ? console.log(mydate+' est un nombre !'):console.log(mydate+' n\'est pas un nombre !');
(isn(mydate)) ? console.log(mydate+' est un nombre !'):console.log(mydate+' n\'est pas un nombre !');
(isi(mydate)) ? console.log(mydate+' est un entier !'):console.log(mydate+' n\'est pas un entier !');

mydate = new Date(1972, 8 - 1, 5);
console.log(typeof NaN); // number
console.log(typeof 'X'); // string
console.log(typeof undefined); // undefined
console.log(typeof null); // object
console.log(typeof 0); // number
console.log(typeof 26); // number
console.log(typeof 26.3); // number
console.log(isFinite(0)); // true
console.log(isFinite(26)); // true
console.log(isFinite(26.3)); // true
console.log(isFinite(null)); // true
console.log(isFinite(undefined)); // false
console.log(isFinite('26.3')); // true
console.log(typeof '26.3');// string
console.log(typeof mydate); // object