object-typesdeprecated

Get Javascript Object types

Usage no npm install needed!

<script type="module">
  import objectTypes from 'https://cdn.skypack.dev/object-types';
</script>

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

Related


License

MIT © dawsonbotsford