JSPM

object-types

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11
  • Score
    100M100P100Q28647F
  • License MIT

Get Javascript Object types

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 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


License

MIT © dawsonbotsford