---
date: 2020-06-13
id: cb93f6ba-527b-4602-b5f4-de0281897800
title: JavaScript Types
---

# Numbers

JavaScript uses 64 bits to store number values

## Fractional numbers

``` javascript
console.log(9.81)
```

## Scientific notation

``` javascript
console.log(2.998e8)
```

## Special Numbers

### Infinity

Infinity and -Infinity represent positive and negative infinities

``` javascript
console.log(Infinity - 1)
console.log(Infinity + 1)
console.log(-Infinity - 1)
console.log(-Infinity + 1)
```

### NaN

Not a number. The returned result if you try to do mathematical nonsense

``` javascript
console.log(0/0)
console.log(Infinity - Infinity)
```

# Boolean

``` javascript
console.log(3 > 2)
console.log(3 < 2)
```

Strings can also be compared

``` javascript
console.log("Aardvark" < "Zoroaster")
```

Uppercase characters are always less than lower case characters, so "Z"
\< "a". Non alphabetic characters are less than alphabetic characters

``` javascript
console.log("Zebra" < "aardvark")
console.log("!" < "aardvark")
console.log("!" < "Zebra")
console.log("3" < "Zebra")
console.log("!" < "3")
```

# Empty values

There are two special empty values, null & undefined that denote the
absence of any meaningful value. They can be used interchangeably and
are an [accident of JavaScripts
design](https://medium.com/@stephenthecurt/a-brief-history-of-null-and-undefined-in-javascript-c283caab662e).

``` javascript
console.log(null == undefined);
```

# Related

-   [JavaScript](20200613170905-javascript)
-   [Arrays](20200826201029-arrays)
-   [Strings](20200922164551-strings)