Существует 7 примитивных типов данных:

строка, число, bigint, логическое значение, null, undefined и символ.

Все примитивы являются неизменяемыми, то есть их нельзя изменить.

typeof "foo" // "строка"

typeof 0 // «число»

typeof 10n // «большой»

typeof true // «логическое»

typeof null // «объект»

typeof undefined // «не определено»

typeof Symbol("id") // "символ"

Непримитивные типы данных:

typeof new Array() // «объект»

typeof Math // «объект»

typeof alert // «функция»

Пример:

// Using a string method doesn't mutate the string
var a = "abc";
a.toUpperCase();
console.log(a);               // ABC

// Using an array method mutates
var b = [];
console.log(b);               // []
b.push("vicky");
console.log(vicky);               // ["vicky"]