@@ -13,27 +13,40 @@ See the [test page](https://wizard04wsu.github.io/javascript-type-testing/test/t
1313This module uses an expanded set of type names that make no distinction between primitive values and objects.
1414For example, ` 5 ` and ` new Number(5) ` are both of type "number".
1515
16- | Type Name | Values
17- | - | -
18- | array | ` Array ` objects
19- | bigint | _ bigint_ primitives
20- | boolean | ` false ` , ` true ` , ` Boolean ` objects
21- | date | ` Date ` objects
22- | error | ` Error ` objects
23- | function | ` Function ` objects
24- | map | ` Map ` objects
25- | nan | ` NaN ` , ` Number ` objects with value ` NaN `
26- | null | ` null `
27- | number | _ number_ primitives, ` Number ` objects; excludes ` NaN ` values
28- | object | instances of ` Object ` that don't match another type in this list
29- | promise | ` Promise ` objects
30- | regex | ` RegExp ` objects
31- | set | ` Set ` objects
32- | string | _ string_ primitives, ` String ` objects
33- | symbol | _ symbol_ primitives
34- | undefined | ` undefined `
35- | weakmap | ` WeakMap ` objects
36- | weakset | ` WeakSet ` objects
16+ | Type Name | Primitive Values | Instances Of Classes
17+ | - | - | -
18+ | defined | any value (not undefined) | ` Object `
19+ | undefined | undefined |
20+ | primitive | not an instance of ` Object ` |
21+ | object | | ` Object `
22+ | objectish | ` null ` | ` Object `
23+ | null | ` null ` |
24+ | nullish | undefined, ` null ` |
25+ | boolean | ` false ` , ` true ` |
26+ | false | ` false ` |
27+ | true | ` true ` |
28+ | falsy | undefined, ` null ` , ` false ` , ` 0n ` , ` NaN ` , ` 0 ` , ` "" ` |
29+ | truthy | values that are not _ falsy_ | ` Object `
30+ | symbol | a ` Symbol ` |
31+ | bigint | ` 0n ` , ` 5n ` |
32+ | numberish | ` 0 ` , ` 5 ` , ` Infinity ` , ` NaN ` | ` Number `
33+ | nan | ` NaN ` | ` Number ` instances with value ` NaN `
34+ | number | ` 0 ` , ` 5 ` , ` Infinity ` | ` Number ` excluding instances with value ` NaN `
35+ | real | ` 0 ` , ` 5 ` | ` Number ` instances for real numbers
36+ | infinite | ` Infinity ` | ` Number ` instances for infinite numbers
37+ | string | ` "" ` , ` "foo" ` | ` String `
38+ | array | ` [] ` , ` [1,2] ` | ` Array `
39+ | map | | ` Map `
40+ | set | | ` Set `
41+ | weakmap | | ` WeakMap `
42+ | weakset | | ` WeakSet `
43+ | empty | ` [] ` | ` String ` or ` Array ` of length == 0, ` Map ` or ` Set ` of size == 0
44+ | nonempty | values that are not _ empty_ | instances that are not _ empty_
45+ | date | | ` Date `
46+ | error | | ` Error `
47+ | function | | ` Function ` , ` function(){} ` , ` ()=>{} `
48+ | promise | | ` Promise `
49+ | regex | | ` Regex ` , ` /foo/ `
3750
3851
3952## Determine a Type
0 commit comments