The current edition of the ECMAScript spec defines 8 value types:

  1. Undefined
  2. Null
  3. Boolean
  4. String
  5. Symbol
  6. Number
  7. BigInt
  8. Object

https://262.ecma-international.org/11.0/#sec-ecmascript-language-types

The typeof operator is a big source of confusion in JavaScript, because what it returns is not always the actual type of the value. The conversion table for typeof (https://262.ecma-international.org/11.0/#sec-typeof-operator) is like this

Type of val Result
Undefined undefined
Null object !!!
Boolean boolean
Number number
String string
Symbol symbol
BigInt bigint
Object (does not implement [[Call]]) object
Object (implements [[Call]]) function !!!

Note the two exceptions marked with !!!

To confuse us further, the language also provides wrapper functions for these 4 primitive types

  1. Boolean
  2. Number
  3. String
  4. BigInt

These functions

  • when called with new, return their argument converted to a corresponding wrapper object (Boolean, Number etc)

  • when called without new, return their argument converted to a corresponding primitive value (Boolean, Number etc)

These functions are also called implicitly (in the new or "constructor" mode) when a primitive is used in the "object" context (e.g. "foo".length)

🌐
CodeSweetly
codesweetly.com › javascript-data-types
Data Types in JavaScript – What Values Can Variables Hold? | CodeSweetly
JavaScript data types refer to the kind of values you can assign to JavaScript variables. The two main ones are primitives and non-primitive.
🌐
Mozilla
developer.mozilla.org › en-US › docs › Web › JavaScript › Guide › Data_structures
JavaScript data types and data structures - JavaScript | MDN
This article attempts to list the built-in data structures available in JavaScript and what properties they have. These can be used to build other data structures. The language overview offers a similar summary of the common data types, but with more comparisons to other languages.
🌐
Techaltum
tutorial.techaltum.com › datatype-javascript.html
JavaScript Data Types: Complete Guide to Primitive and Reference Types (2025)
November 2, 2025 - JavaScript provides two main categories of data types: primitive types that store simple values (String, Number, Boolean, undefined, null, BigInt, Symbol) and reference types that store complex data (Object, Array, Function).
🌐
Mimo
mimo.org › glossary › javascript › data-types
JavaScript Data Types: Syntax, Usage, and Examples
JavaScript data types include primitives (string, number, boolean, null, undefined, symbol) and objects (arrays, functions). Use typeof to check types dynamically.
🌐
Mozilla
developer.mozilla.org › en-US › docs › Web › JavaScript › Guide › Grammar_and_types
Grammar and types - JavaScript | MDN
(Because JavaScript is case-sensitive, null is not the same as Null, NULL, or any other variant.) undefined. A top-level property whose value is not defined. Number. An integer or floating point number. For example: 42 or 3.14159. BigInt. An integer with arbitrary precision. For example: 9007199254740992n. String. A sequence of characters that represent a text value. For example: "Howdy". Symbol. A data type whose instances are unique and immutable.
🌐
MilesWeb
milesweb.com › blog › web-development › javascript-data-types
JavaScript Data Types Explained for Web Developers
June 13, 2025 - Explore MilesWeb's diverse blogs on SEO, affiliate marketing, web hosting, small business tips, and more. Read insightful articles, engage with our community, and contribute your expertise to enhance your online presence.
Find elsewhere
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › variables-datatypes-javascript
Variables and Datatypes in JavaScript - GeeksforGeeks
Non-primitive types are objects and can store collections of data or more complex entities. ... In JavaScript, both null and undefined represent "empty" values but are distinct types. null is a special object representing the intentional absence of a value, while undefined signifies that a variable has been declared but not assigned a value.
Published   November 19, 2025
🌐
W3Schools
w3schools.com › js › js_datatypes.asp
JavaScript Data Types
JavaScript has dynamic types. This means that the same variable can be used to hold different data types:
🌐
Playcode
playcode.io › javascript › data-types
JavaScript Data Types: Complete Guide with Examples | PlayCode
Learn all JavaScript data types: strings, numbers, booleans, null, undefined, objects, arrays, and symbols. Interactive examples and type checking included.
🌐
DEV Community
dev.to › catherineisonline › javascript-data-types-5ec5
JavaScript Data Types - DEV Community
August 13, 2024 - A number is a number data type, simple as that. It can be any number as long as it’s not inside the quotes. If the number is in quotes it becomes a string. Compared to other languages, JavaScript doesn’t define what type of number it is, e.g. integer. Finally, numbers are stored in 64 bits and have some limits with large numbers.
🌐
WsCube Tech
wscubetech.com › resources › javascript › data-types
JavaScript Data Types: Primitive & Non-Primitive With Examples
November 5, 2025 - Learn about JavaScript data types: Primitive & Non-Primitive with examples. Explore strings, numbers, objects, arrays, and more in this comprehensive guide.
🌐
TutorialsPoint
tutorialspoint.com › javascript › javascript_data_types.htm
JavaScript - Data Types
These are the type of values that can be represented and manipulated in a programming language. JavaScript data types can be categorized as primitive and non-primitive (object).
🌐
Containerize
blog.containerize.com › containerize.blogs › what are javascript data types? | a beginner’s guide
What are JavaScript Data Types? | A Beginner’s Guide
February 17, 2023 - What are JavaScript Data Types? Follow this beginner's guide to learn 7 data types used in JavaScript Number, String, Boolean, Null, undefined, and more.
🌐
Programiz
programiz.com › javascript › data-types
JavaScript Data Types (with Examples)
Non-Primitive Data Types: They can hold multiple values. Objects are non-primitive data types. A string represents textual data. It contains a sequence of characters. For example, "hello", "JavaScript", etc.
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › javascript-data-types
JavaScript Data Types - GeeksforGeeks
It is also known as derived data types or reference data types. JavaScript objects are key-value pairs used to store data, created with {} or the new keyword.
Published   January 19, 2026
🌐
Coders Campus
coderscampus.com › home › ep25 – javascript data types
EP25 - JavaScript Data Types - Coders Campus
April 9, 2021 - Although the JavaScript language doesn't allow you to explicitly define a type when you declare a variable, this shouldn't lead you to believe that JavaScript doesn't have types (because it does). JavaScript uses dynamic typing, and therefore this means that the JavaScript engine will choose the best data type for your variable based on its value.
🌐
Iqra Technology
iqratechnology.com › academy › javascript-training › js-data-types
JavaScript Data Types with Examples | Free Tutorial.
April 22, 2025 - In this example, the typeof operator is used to check the data type of the variable score and then log it to the console. JavaScript data types are essential for creating programs that work with different kinds of data.