155 lines
3.5 KiB
Markdown
155 lines
3.5 KiB
Markdown
|
# kind-of [![NPM version](https://badge.fury.io/js/kind-of.svg)](http://badge.fury.io/js/kind-of) [![Build Status](https://travis-ci.org/jonschlinkert/kind-of.svg)](https://travis-ci.org/jonschlinkert/kind-of)
|
||
|
|
||
|
> Get the native type of a value.
|
||
|
|
||
|
## Install with [npm](npmjs.org)
|
||
|
|
||
|
```bash
|
||
|
npm i kind-of --save
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
var kindOf = require('kind-of');
|
||
|
|
||
|
kindOf(undefined);
|
||
|
//=> 'undefined'
|
||
|
|
||
|
kindOf(null);
|
||
|
//=> 'null'
|
||
|
|
||
|
kindOf(true);
|
||
|
//=> 'boolean'
|
||
|
|
||
|
kindOf(false);
|
||
|
//=> 'boolean'
|
||
|
|
||
|
kindOf(new Boolean(true));
|
||
|
//=> 'boolean'
|
||
|
|
||
|
kindOf(new Buffer(''));
|
||
|
//=> 'buffer'
|
||
|
|
||
|
kindOf(42);
|
||
|
//=> 'number'
|
||
|
|
||
|
kindOf(new Number(42));
|
||
|
//=> 'number'
|
||
|
|
||
|
kindOf("string");
|
||
|
//=> 'string'
|
||
|
|
||
|
kindOf(arguments);
|
||
|
//=> 'arguments'
|
||
|
|
||
|
kindOf({});
|
||
|
//=> 'object'
|
||
|
|
||
|
kindOf(new Test());
|
||
|
//=> 'object'
|
||
|
|
||
|
kindOf(new Date());
|
||
|
//=> 'date'
|
||
|
|
||
|
kindOf([]);
|
||
|
//=> 'array'
|
||
|
|
||
|
kindOf([1, 2, 3]);
|
||
|
//=> 'array'
|
||
|
|
||
|
kindOf(new Array());
|
||
|
//=> 'array'
|
||
|
|
||
|
kindOf(/[\s\S]+/);
|
||
|
//=> 'regexp'
|
||
|
|
||
|
kindOf(new RegExp('^' + 'foo$'));
|
||
|
//=> 'regexp'
|
||
|
|
||
|
kindOf(function () {});
|
||
|
//=> 'function'
|
||
|
|
||
|
kindOf(new Function());
|
||
|
//=> 'function'
|
||
|
```
|
||
|
|
||
|
|
||
|
## Run tests
|
||
|
|
||
|
Install dev dependencies:
|
||
|
|
||
|
```bash
|
||
|
npm i -d && npm test
|
||
|
```
|
||
|
|
||
|
## Benchmarks
|
||
|
|
||
|
Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of).
|
||
|
|
||
|
```bash
|
||
|
#1: array.js
|
||
|
kind-of x 21,578,944 ops/sec ±1.01% (97 runs sampled)
|
||
|
(lib) type-of x 4,593,840 ops/sec ±0.76% (92 runs sampled)
|
||
|
(lib) typeof x 5,786,776 ops/sec ±0.71% (97 runs sampled)
|
||
|
|
||
|
#2: boolean.js
|
||
|
kind-of x 25,189,600 ops/sec ±0.60% (97 runs sampled)
|
||
|
(lib) type-of x 2,751,076 ops/sec ±0.78% (100 runs sampled)
|
||
|
(lib) typeof x 4,390,312 ops/sec ±0.61% (99 runs sampled)
|
||
|
|
||
|
#3: date.js
|
||
|
kind-of x 8,862,303 ops/sec ±0.77% (99 runs sampled)
|
||
|
(lib) type-of x 6,239,662 ops/sec ±0.67% (94 runs sampled)
|
||
|
(lib) typeof x 6,180,922 ops/sec ±0.59% (97 runs sampled)
|
||
|
|
||
|
#4: function.js
|
||
|
kind-of x 19,685,336 ops/sec ±1.67% (95 runs sampled)
|
||
|
(lib) type-of x 6,648,551 ops/sec ±0.93% (95 runs sampled)
|
||
|
(lib) typeof x 6,631,967 ops/sec ±1.05% (92 runs sampled)
|
||
|
|
||
|
#5: null.js
|
||
|
kind-of x 24,155,010 ops/sec ±0.95% (91 runs sampled)
|
||
|
(lib) type-of x 12,854,583 ops/sec ±0.69% (94 runs sampled)
|
||
|
(lib) typeof x 8,182,952 ops/sec ±0.48% (99 runs sampled)
|
||
|
|
||
|
#6: number.js
|
||
|
kind-of x 20,993,521 ops/sec ±0.37% (98 runs sampled)
|
||
|
(lib) type-of x 2,112,716 ops/sec ±0.73% (96 runs sampled)
|
||
|
(lib) typeof x 4,492,943 ops/sec ±0.68% (96 runs sampled)
|
||
|
|
||
|
#7: object.js
|
||
|
kind-of x 3,686,169 ops/sec ±0.85% (96 runs sampled)
|
||
|
(lib) type-of x 3,661,833 ops/sec ±0.73% (98 runs sampled)
|
||
|
(lib) typeof x 6,159,847 ops/sec ±0.72% (98 runs sampled)
|
||
|
|
||
|
#8: regex.js
|
||
|
kind-of x 10,780,535 ops/sec ±0.75% (95 runs sampled)
|
||
|
(lib) type-of x 5,380,781 ops/sec ±0.83% (92 runs sampled)
|
||
|
(lib) typeof x 5,852,558 ops/sec ±0.67% (95 runs sampled)
|
||
|
|
||
|
#9: string.js
|
||
|
kind-of x 19,713,570 ops/sec ±0.69% (91 runs sampled)
|
||
|
(lib) type-of x 4,017,753 ops/sec ±0.85% (98 runs sampled)
|
||
|
(lib) typeof x 4,370,984 ops/sec ±0.62% (100 runs sampled)
|
||
|
|
||
|
#10: undef.js
|
||
|
kind-of x 23,250,387 ops/sec ±0.88% (91 runs sampled)
|
||
|
(lib) type-of x 13,725,183 ops/sec ±0.62% (91 runs sampled)
|
||
|
(lib) typeof x 20,549,334 ops/sec ±0.74% (97 runs sampled)
|
||
|
```
|
||
|
|
||
|
## Author
|
||
|
|
||
|
**Jon Schlinkert**
|
||
|
|
||
|
+ [github/jonschlinkert](https://github.com/jonschlinkert)
|
||
|
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
|
||
|
|
||
|
## License
|
||
|
Copyright (c) 2014-2015 Jon Schlinkert
|
||
|
Released under the MIT license
|
||
|
|
||
|
***
|
||
|
|
||
|
_This file was generated by [verb](https://github.com/assemble/verb) on February 09, 2015._
|