Add isPrimitive utility snippet

This commit is contained in:
atomiks
2017-12-31 21:48:13 +11:00
parent f108b205eb
commit 4824abc7de
2 changed files with 23 additions and 0 deletions

22
snippets/isPrimitive.md Normal file
View File

@ -0,0 +1,22 @@
### 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.
```js
const isPrimitive = value =>
['string', 'number', 'symbol', 'boolean', 'undefined'].includes(typeof value) || value === null;
```
```js
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
```