Если вы попросите кого-нибудь указать разницу между примитивами и непримитивами, то они легко скажут вам, что примитивы — это нечто неизменяемое, а непримитивные — изменяемые. Но подождите, кажется, так легко отличить их друг от друга, неужели это действительно так просто? Давайте разберемся.

Итак, отсюда мы собираемся начать «серию статей» (на всякий случай) для разработки и изучения основ примитивов и непримитивных значений в JavaScript, и тогда будет легко определить разницу между ними. .

В Javascript, как мы все знаем, существует шесть типов данных: числа, строки, логические значения, null, undefined и объекты. Числа, строки, логические значения, null и undefined обрабатываются как примитивы, а объекты обрабатываются как не примитивные. Теперь мы подойдем к делу.

Прежде чем перейти к сравнению различий между ними, давайте посмотрим, как именно мы должны визуализировать их формирование в памяти компьютера, чтобы было намного легче найти различия. И, честно говоря, единственный способ понять их различия — составить «мысленную схему» их формирования в памяти компьютера.

I.) Ментальное представление:

A.) Примитивы. Предположим, что существует переменная с именем «пользователь», определенная как

let user = "sushant"; .

Значение имеет тип данных string, поэтому является примитивным. Ментальная диаграмма этого (примитивного) типа данных должна быть такой:

Итак, мы должны интерпретировать эту диаграмму таким образом, что создается поле с именем user, содержащее данные stringтипа данных, который является примитивным. Итак, мы видим, что в поле хранится значение («сушант»).

Чтобы лучше познакомиться с этой концепцией, давайте рассмотрим еще несколько примеров.

Итак, это были примеры «диаграммы памяти» формирования примитивных типов данных в памяти компьютера. Или можно сказать, таким образом мы должны формировать «мысленную диаграмму» хранение примитивных типов данных.

B.) Непримитивы. Мы знаем, что объекты являются единственным непримитивным типом данных. Давайте разберемся с помощью примеров.

Предположим, что есть переменная с именем «пользователь», которая является объектом.

let user = {
   name: 'sushant', 
   age: 19, 
   sex: male
};

Схема хранения этого объектного типа данных в голове выглядит следующим образом:

Эта диаграмма, как мне кажется, наиболее важна для усвоения.

Итак, здесь происходит то, что теперь ящик содержит не само значение, а, скорее, ссылку на это значение, или вы можете сказать, что ящик содержит адрес, по которому эти данные хранятся в памяти.

То же самое и с массивами и функциями, потому что в JavaScript массивы и функции обрабатываются как объект типы данных.

Давайте посмотрим еще несколько примеров,

Итак, это все, что касается «диаграммы памяти» хранения примитивных и непримитивных значений.