Files
30-seconds-of-code/snippets/isPrimitive.md
2017-12-31 21:48:13 +11:00

672 B

isPrimitive

Returns a boolean determining if the supplied value is primitive or not.

Use Array.includes() on an array of type strings, supplying the type using typeof. Since typeof null evaluates to 'object', it needs to be directly compared.

const isPrimitive = value =>
  ['string', 'number', 'symbol', 'boolean', 'undefined'].includes(typeof value) || value === null;
isPrimitive(window.someNonExistentProperty); // true
isPrimitive(null); // true
isPrimitive(50); // true
isPrimitive('Hello!'); // true
isPrimitive(false); // true
isPrimitive(Symbol()); // true
isPrimitive([]); // false
isPrimitive(new String('Hello!')); // false