There are seven primitive data types in JavaScript:
1. Number: Floating point numbers, such as let price = 10;. Integers like 10 can actually be 10.0, so they are so-called floating-point numbers instead of just number.
2. String: A sequence of characters, used for text such as let firstName = 'Thuc';
3. Boolean: A logical type that can either be true for false, like so let isAdult = true;
4. Undefined: The value of a variable is not defined yet, an empty variable, e.g., let lastName;
5. Null: Also means an empty value, but intentional
6. Symbol: A unique value that cannot be changed as it is primitive type, so something like const a = Symbol('sth'); a.b = 'c'; then a.b would always be undefined.
7. BigInt: This type can store bigger integers than regular Number type can.