there are two data types in Javascript
primitive
String,
Number,
Boolean,
Undefined,
and NULL
non-primitive types:
Object,
Array,
and RegExp
To check the data belongs to which data type there is an inbuilt javascript method called typeof. typeof can be used for validating the data type but there is one weird behavior of typeof Array that it gives us object
as output.
console.log(typeof(new Date())) // object
console.log(typeof(['Manish', 'Manntrix', "Medium"])) // object
console.log(typeof({ name: 'Manish', age: 26 })) // object
console.log(typeof(/ab+c/i)) // object
console.log(typeof(new Error('Error'))) // object
To solve the issue
- Open your project directory and install xtypejs.
npm install xtypejs --save
2. Now import xtype from xtypejs library.
import xtype from 'xtypejs'
console.log(xtype(new Date())) // date console.log(xtype({})) // empty_object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype({name: "manish"})) // single_prop_object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype({name: "manish", age: 26})) // multi_prop_object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype([])) // empty_array | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype([1])) // single_elem_array | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype([1, 2])) // multi_elem_array | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(undefined)) //undefined | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(1)) //positive_integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(1.1)) //positive_float | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(-1.1)) //negative_float | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(-1)) //negative_integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype('Hello')) //multi_char_string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(' ')) //whitespace | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype('')) //empty_string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(NaN)) //nan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(new Error())) //error | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(/ab+c/i)) //regexp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(true)) //true | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
console.log(xtype(false)) //false
|