This package has been deprecated

Author message:

Duplicate functionaity, use https://github.com/dawsonbotsford/to-type instead

object-types

1.1.0 • Public • Published

Deprecated in favor of to-type

object-types Build Status npm version

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

Package Sidebar

Install

npm i object-types

Weekly Downloads

14

Version

1.1.0

License

MIT

Last publish

Collaborators

  • dawsonbotsford