Package Exports
- object-types
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (object-types) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Deprecated in favor of to-type
object-types

Get Javascript Object types
Install
npm install --save object-types
Usage
const objectTypes = require('object-types');
typeof [];
//=> 'object'
objectTypes([]);
//=> 'array'
typeof new Object(true);
//=> 'object'
objectTypes(new Object(true));
//=> 'boolean'
typeof {};
//=> 'object'
objectTypes({});
//=> 'object'
The Problem
JavaScript objects can be of various object types. As an example, a string can be a string or a string can be an object string:
typeof 'example string';
//=> string
typeof new Object('example string');
//=> object
It seems like you can treat literal strings the same as object strings:
const myArray = ['a string', new Object('my string object')];
myArray.map(elem => {
return elem.toUpperCase()
});
//=> ['A STRING', 'MY STRING OBJECT']
But not always. Equality operators do not behave the same.
const myArray = ['a string', new Object('my string object')];
typeof myArray[0] === myArray[1]
//=> false
With object-types, you can stop getting object
for all of your typeof
calls.
const myArray = [1,2,3];
const obj = new Object([1,2,3]);
typeof myArray === typeof obj;
//=> false
typeof myArray === objectTypes(obj);
//=> true
API
objectTypes(obj)
obj
Type: object
Returns the typeof object as a string:
- 'object'
- 'string'
- 'number'
- 'boolean'
- 'array'
- 'date'
- 'regexp'
- throws
TypeError
if unknown object type is inputted
Related
License
MIT © dawsonbotsford