Вопросы по Node.js

Какие существуют две категории типов данных в Node.js?

Node.js, как среда для выполнения JavaScript на сервере, поддерживает различные типы данных. Все типы данных в Node.js можно разделить на две основные категории: примитивные и объектные.

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

Примитивные типы данных – это простейшие типы данных, которые не имеют методов, и их значения неизменны. В Node.js к примитивным типам данных относятся:

  1. String (строка) - представляет последовательность символов.
  2. Number (число) - представляет как целые, так и дробные числа.
  3. Boolean (логический) - может иметь только два значения: true или false.
  4. Undefined (неопределенный) - указывает на то, что переменная была объявлена, но не была инициализирована.
  5. Null (пустое значение) - представляет намеренное отсутствие значения.
  6. Symbol - используется для создания уникальных идентификаторов.
  7. BigInt - предназначен для работы с целыми числами произвольной длины.

Пример кода с примитивами

let name = "Alice"; // String
let age = 30; // Number
let isStudent = true; // Boolean
let score; // Undefined
let emptyValue = null; // Null
let uniqueID = Symbol('id'); // Symbol
let bigIntValue = BigInt(12345678901234567890); // BigInt

console.log(typeof name); // "string"
console.log(typeof age); // "number"
console.log(typeof isStudent); // "boolean"
console.log(typeof score); // "undefined"
console.log(typeof emptyValue); // "object" (это известная особенность языка)
console.log(typeof uniqueID); // "symbol"
console.log(typeof bigIntValue); // "bigint"

Объектные типы данных

Объектные типы данных - это более сложные структуры, которые могут хранить множество значений и более сложные сущности. Основные объектные типы:

  1. Object - представляет общий объект, который может хранить набор пар "ключ-значение".
  2. Array (массив) - специальный тип объекта, который используется для хранения упорядоченных списков значений.
  3. Function (функция) - объекты, которые можно вызывать. В JavaScript функции являются первоклассными объектами.
  4. Date (дата) - объект, представляющий момент времени.
  5. RegExp (регулярное выражение) - объект для работы с регулярными выражениями.

Пример кода с объектами

// Пример объекта
let person = {
    name: "Alice",
    age: 30,
    isStudent: true
};

// Пример массива
let fruits = ["apple", "banana", "cherry"];

// Пример функции
function greet() {
    return "Hello, World!";
}

// Пример даты
let currentDate = new Date();

// Пример регулярного выражения
let regex = /[a-z]/;

console.log(typeof person); // "object"
console.log(typeof fruits); // "object" (массивы также являются объектами)
console.log(typeof greet); // "function"
console.log(currentDate instanceof Date); // true
console.log(regex instanceof RegExp); // true

Заключение

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