JavaScript Helper to determine the type of your variable

Tosh
2 min readMay 11, 2021

Continuously you will need to know what type are the variables in order to create conditionals that are prepared to manipulate and maintain your code stable. For that reason I give you a cheat sheet to establish what is exactly your variable.

These are functions to which you pass your variable to indicate whether it is of a certain type or not.

Object

const myObject = {};const isObject = variable =>  variable.constructor === Objectconsole.log("myObject is an Object: ", isObject(myObject))

Array

const myArray = [];const isArray = variable => Array.isArray(variable)console.log("myArray is an Array: ", isArray(myArray))

Number, String, Boolean and Function

For these 4, it’s more simple. We just need a typeof following === and their type as string to make the condition.

const myNumber = 12;
const myString = "js";
const myBoolean = true;
const myFunction = () => "hello";
const isNumber = variable => typeof variable === 'number'
const isString = variable => typeof variable === 'string'
const isBoolean = variable => typeof variable === 'boolean'
const isFunction = variable => typeof variable === 'function'
console.log("myNumber is an Number: ", isNumber(myNumber))
console.log("myString is an String: ", isString(myString))
console.log("myBoolean is an Boolean: ", isBoolean(myBoolean))
console.log("myFunction is an Function: ", isFunction(myFunction))

Null and Undefined

Because null == undefined is true, the bellow code will catch both null and undefined.

const myNull = null;const isNullOrUndefined = variable == null;console.log("MyNull null or undefined:" ,isNullOrUndefined(myNull))

which is 100% equivalent to the more explicit but less concise:

if (variable === undefined || variable === null) 

Note: We are not using typeof on purpose because this solution above will cause a ReferenceError if the variable doesn't exist. This is a good thing. This ReferenceError is desirable in order to help and find any mistakes and fix them before shipping your code.

Summary

Object  variable.constructor === ObjectArray   Array.isArray(variable)Number  typeof variable === 'number'String  typeof variable === 'string'Boolean typeof variable === 'boolean'Function  typeof variable === 'function'Null Or Undefined  variable == null;Strictly Undefined Or Null 
variable === undefined || variable === null

--

--