Полный цикл в digital

Типы данных

Все используемые данные в javascript имеют определенный тип. В JavaScript имеется восемь типов данных:

  • String представляет строку
  • Number представляет числовое значение
  • BigInt предназначен для представления очень больших целых чисел
  • Boolean представляет логическое значение true или false
  • Undefined представляет одно специальное значение undefined и указывает, что значение не установлено
  • Null представляет одно специальное значение null и указывает на отсутствие значения
  • Symbol представляет уникальное значение, которое часто применяется для обращения к свойствам сложных объектов
  • Object представляет комплексный объект

Первые семь типов представляют примитивные типы данных. Последний тип - Object представляет сложный, комплексный тип данных, который состоит из значений примитивных типов или других объектов. Рассмотрим основные примитивные типы данных.

Числовые данные

Number

Тип Number представляет числа в JavaScript, которые могут быть целыми или дробными:

  • Целые числа, например, 35. Мы можем использовать как положительные, так и отрицательные числа. Диапазон используемых чисел: от -253 до 253
  • Дробные числа (числа с плавающей точкой), например, 3.5575. Опять же можно использовать как положительные, так и отрицательные числа. Для чисел с плавающей точкой используется тот же диапазон: от -253 до 253

Например:

let x = 45;
let y = 23.897;

В качестве разделителя между целой и дробной частями, как и в других языках программирования, используется точка.

Тип BigInt

Тип BigInt добавлен в последних стандартах JavaScript для представления очень больших целых чисел, которые выходят за пределы диапазона типа number. Это не значит, что мы не можем совсем работать с большими числами с помощью типа number, но работа с ними в случае с типом number будет сопряжена с проблемами. Рассмотрим небольшой пример:

let num = 9007199254740991
// 9007199254740991
console.log(num);  
// 9007199254740992     
console.log(num + 1);   
// 9007199254740992
console.log(num + 2);

Здесь переменной num присваивается максимальное значение. И далее прибавляем к ней некоторые значения и выводим на консоль результат. И результаты могут нас смутить, особенно в случае прибавления числа 2. Для определения числа как значения типа BigInt в конце числа добавляется суффикс n:

let dimension = 19007n;
const value = 2545n;

Например, изменим из предыдущего примера тип number на bigint:

let num = 9007199254740991n
// 9007199254740991n
console.log(num);     
// 9007199254740992n  
console.log(num + 1n);  
// 9007199254740993n
console.log(num + 2n);
// 9007199254740994n  
console.log(num + 3n);

Тип Boolean

Тип Boolean представляет булевые или логические значения true (верно) и false (ложно):

let isAlive = true;
let isDead = false;

Строки String

Тип String представляет строки. Для определения строк применяются кавычки, причем, можно использовать как двойные, так одинарные, так и косые кавычки. Единственно ограничение: тип закрывающей кавычки должен быть тот же, что и тип открывающей, то есть либо обе двойные, либо обе одинарные.

let user = "Tom";
let company = 'Microsoft';
let language = `JavaScript`;
    
console.log(user);
console.log(company);
console.log(language);

Если внутри строки встречаются кавычки, то мы их должны экранировать слешем. Например, пусть у нас есть текст "Бюро "Рога и копыта"". Теперь экранируем кавычки:

let company = "Бюро \"Рога и копыта\"";

Также мы можем внутри стоки использовать другой тип кавычек:

let company1 = "Бюро 'Рога и копыта'";
let company2 = 'Бюро "Рога и копыта"';

Интерполяция

Использование косых кавычек позволяет нам применять такой прием как интерполяция - встраивать данные в строку:

let user = "Tom";
let text = `Name: ${user}`;
// Name: Tom
console.log(text);

Для встраивания значений выражений (например, значений других переменных и констант) в строку перед выражением ставится знак доллара $, после которого в фигурных скобках указывается выражение. Так, в примере выше ${user} означает, что в этом месте строки надо встроить значение переменной user. Подобным образом можно встраивать и больше количество данных:

let user = "Tom";
let age = 37;
let isMarried = false;
let text = `Name: ${user}   Age: ${age}   IsMarried: ${isMarried}`;
// Name: Tom   Age: 37   IsMarried: false
console.log(text);

null и undefined

undefined указывает, что значение не определено или не установлено. Например, когда мы только определяем переменную без присвоения ей начального значения, она представляет тип undefined:

let isAlive;
// выведет undefined
console.log(isAlive);

Присвоение значение null означает, что у переменной отсутствует значение:

let isAlive;
// undefined
console.log(isAlive); 
isAlive = null;
// null
console.log(isAlive); 
// снова установим тип undefined
isAlive = undefined; 
// undefined 
console.log(isAlive);

object

Тип object представляет сложный объект. Простейшее определение объекта представляют фигурные скобки:

let user = {};

Объект может иметь различные свойства и методы:

const user = {name: "Tom", age:24};
console.log(user.name);

В данном случае объект называется user, и он имеет два свойства: name и age. Это краткое описание объектов, более подробно объекты мы рассморим в последующих статьях.

Слабая типизация

JavaScript является языком со слабой типизацией. Это значит, что переменные могут динамически менять тип, например:

// тип undefined
let id;  
console.log(id);
// тип number
id = 45;  
console.log(id);
// тип string
id = "45"; 
console.log(id);

Несмотря на то, что во втором и третьем случае консоль выведет нам число 45, но во втором случае переменная id будет представлять число, а в третьем случае - строку. Это важный момент, который надо учитывать и от которого зависит поведение переменной в программе:

// тип number
let a = 45;  
let b = a + 5;
// 50
console.log(b); 
 
// тип string       
a = "45"; 
let c = a + 5
// 455
console.log(c);

Выше в обоих случая к переменной a применяется операция сложения +. Но в первом случае a представляет число, поэтому результатом операции a + 5 будет число 50.

Во втором случае a представляет строку. Но операция сложения между строкой и числом 5 невозможна. Поэтому число 5 будет преобразовываться к строке, и будет происходить операция объединения строк. Поэтому во втором случае результатом выражения a + 5 будет стока "455".

Оператор typeof

С помощью оператора typeof можно получить тип переменной:

let id;
// undefined
console.log(typeof id);       
 
id = 45;
// number
console.log(typeof id);       
 
id = 45n;
// bigint
console.log(typeof id);       
 
id = "45";
// string
console.log(typeof id);

Стоит отметить, что для значения null оператор typeof возвращает значение object, несмотря на то, что согласно спецификации JavaScript значение null представляет отдельный тип.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг