Руководство для начинающих по основам работы с типами данных в JavaScript

Вам может быть интересно, что вообще означает быть типом данных. Тип данных — это именно то, на что это похоже — тип данных. В JavaScript переменные хранят разные типы данных, и мы называем их категоризацией типов данных. Точно так же, как мы классифицируем и классифицируем всех животных в мире на млекопитающих, рептилий, птиц и т. д., программисты делают то же самое с типами данных в JavaScript (и в других языках, но здесь мы просто рассматриваем JavaScript).

JavaScript делит все свои типы данных на две большие категории: примитивные типы данных и структурированные типы данных (также известные как непримитивные типы данных). Проще говоря, примитивные типы данных представляют собой только одно значение, в то время как структурированные типы данных построены из примитивных типов данных. Например, примитивным типом данных будет одна буква, а структурированным типом данных будет целое слово. Давайте взглянем на некоторые фактические типы данных, чтобы понять, что все это значит.

Различные примитивные типы данных:

  • Число
  • Нить
  • логический
  • Нулевой
  • Неопределенный
  • BigInt
  • Символ

Поскольку это вводное руководство для начинающих, мы рассмотрим только первые пять — какое-то время вы не столкнетесь с BigInt или символом.

ЧИСЛО

Числа являются наиболее интуитивными для понимания. Это просто число! Когда вы присваиваете число переменной, это просто число и соответствующее ему числовое значение — вот и все. JavaScript распознает его как число, поэтому с этой переменной можно выполнять такие действия, как сложение, вычитание и т. д.

const num1 = 9; // I am assigning the number 9 to the variable num1
const num2 = 24.6;

STRING

Мы можем думать о строках как о текстовых пузырях. JavaScript считает строки просто набором символов. Например:

const myName = "Marlowe"; // I am assigning the string "Marlowe" to the variable myName
const pets = "I have a cat.";

Все строки обозначаются открывающими и закрывающими кавычками. Это могут быть как одинарные (« »), так и двойные (« ») кавычки. Даже числа могут быть строками.

const numNumber = 9;
const stringNumber = "9";

Для JavaScript numNumber содержит числовое значение 9, а stringNumber — это просто символ 9 — он не содержит никакого числового значения.

BOOLEAN

Boolean может показаться странным словом, но все, что оно означает, это то, что значение либо истинно, либо ложно.

const iHaveACat = true;
const iHaveADog = false;

Обратите внимание, что логические значения не заключаются в кавычки, потому что они не являются строками. Если выражение оценивается как истинное, то его значение является логическим, и то же самое с ложным. Например:

9 === 9 // returns true because the number 9 is exactly equal to the number 9
9 === "9" // returns false because the number 9 is not equal to the string "9"

9 как числовой тип данных — это не то же самое, что 9 как строковый тип данных! Следовательно, второе выражение возвращает false.

НЕ ОПРЕДЕЛЕН

Если переменная не определена, это означает, что она была объявлена, но ей никогда не присваивалось значение. Переменная существует, но она пуста.

const notDefined;

Если мы напечатаем это, но никогда не присвоим ему никакого значения, оно не определено. JavaScript знает, что notDefined существует, но не имеет значения 🙁

НОЛЬ

Null может показаться похожим на undefined, но есть очень важное отличие. Неопределенные переменные существуют, но пусты, но если что-то имеет значение null, это означает, что оно вообще не существует.

const myVar = null;

Если мы напишем это на JavaScript, он вообще не распознает переменную myVar. По сути, мы сказали JavaScript, что там ничего нет. Если мы спросим JavaScript, каково значение myVar, он подумает, что я никогда в жизни не слышал об этой переменной, что она не должна существовать и вернет значение null.

Если я спрошу JavaScript, каково значение myFavoriteColor, но я никогда его не объявлял, JavaScript скажет мне, что оно равно null. Он понятия не имеет — myFavoriteColor даже не существует!

Мы рассмотрели самые распространенные примитивные типы данных в JavaScript! Это означает, что остается только одно — структурированные, или не примитивные, типы данных. Они включают…

  • Объект

Вот и все! Однако объекты охватывают очень широкий диапазон данных. Массивы и функции также считаются объектами в JavaScript.

ОБЪЕКТ

Объекты обозначаются фигурными скобками { }. Они содержат пары ключей и значений. Например:

const myCat = {
  name: "Tinker",
  type: "Tabby",
  age: 12,
  adorable: true
};

Вы можете записывать объекты в одну строку, но, как вы, вероятно, заметили, их будет намного легче читать, если вы поместите каждую пару в отдельную строку. Здесь у меня есть объект (я знаю это из-за фигурных скобок) с именем myCat. Внутри объекта есть четыре пары ключ/значение, каждая из которых разделена запятой. После каждой клавиши следует двоеточие, а затем значение, присвоенное этой клавише. Объекты представляют собой наборы примитивных типов данных. Обратите внимание, что значения моих ключей — это разные типы данных. Имя и тип моего кота — это строки, а его возраст — это число, а после adorable я написал true — логическое значение!

Еще одна интересная вещь в них заключается в том, что объекты могут иметь объекты внутри себя — это называется вложением. Мы не будем заниматься этим сегодня, но просто знайте, что возможности и сложность объектов практически безграничны.

Если вы не уверены, какой тип данных используется в JavaScript, есть специальный ручной оператор, который точно вам это скажет. Оператор typeof — отличный способ лучше познакомиться с типами данных JavaScript и освоиться с ними, а также отличный инструмент для изучения и изучения этой темы.

ТИП

Это работает следующим образом:

typeof 42 // returns "number"
typeof "true" // returns "string" (notice that "true is in quotes - it's a string not a boolean)
typeof false // returns "boolean"
typeof myAge // returns "undefined" (it's not a number or a boolean, and it's not in quotes so it can't be a string - my Age was declared but never assigned a value)

const myCat = {};
typeof myCat // returns "object"

Поздравляем! Вы только что узнали все о типах данных в JavaScript. Вы должны очень гордиться собой — это один из фундаментальных строительных блоков JavaScript, и хорошее понимание типов данных необходимо для любого программиста. Я надеюсь, что вы чувствуете себя более комфортно с типами данных и JavaScript в целом. Просто не забывайте продолжать практиковаться, потому что знакомство и удобство придут со временем!

Для более глубокого изучения типов данных JavaScript я настоятельно рекомендую посетить страницу MDN: