← Назад к вопросам

Что такое фреймворк js-core?

2.0 Middle🔥 71 комментариев
#Node.js и JavaScript

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое фреймворк js-core?

js-core — это не стандартный фреймворк JavaScript, а скорее обобщённое название для ядра JavaScript. В контексте разработки это может означать несколько вещей.

Варианты интерпретации

1. JavaScript Core Engine (движок JS)

Это движок интерпретации JavaScript:

  • V8 (Chrome, Node.js)
  • SpiderMonkey (Firefox)
  • JavaScriptCore (Safari)
  • Chakra (Edge)

Все они реализуют стандарт ECMAScript.

2. Встроенные модули Node.js

const fs = require('fs');           // Файловая система
const path = require('path');       // Работа с путями
const http = require('http');       // HTTP сервер
const events = require('events');   // Event Emitter
const stream = require('stream');   // Потоки данных
const crypto = require('crypto');   // Криптография

Это основные инструменты, на которых построены все фреймворки.

Фундаментальные концепции JavaScript

Замыкания (Closures):

function outer() {
  let x = 10;
  return function inner() {
    return x; // Замыкание
  };
}

Асинхронность (async/await, Promise):

async function fetchData(url) {
  try {
    const response = await fetch(url);
    return await response.json();
  } catch (error) {
    console.error(error);
  }
}

Event-driven архитектура:

const EventEmitter = require('events');
class CustomEmitter extends EventEmitter {}

Event Loop — сердце Node.js

console.log('1');

setTimeout(() => {
  console.log('2');
}, 0);

Promise.resolve().then(() => {
  console.log('3');
});

console.log('4');

// Результат: 1 4 3 2

Порядок выполнения:

  1. Синхронный код (1, 4)
  2. Microtask Queue (Promise → 3)
  3. Callback Queue (setTimeout → 2)

Практический пример: HTTP сервер на core

const http = require('http');
const url = require('url');

const server = http.createServer((req, res) => {
  const parsedUrl = url.parse(req.url, true);
  
  if (parsedUrl.pathname === '/api/users') {
    res.writeHead(200, { 'Content-Type': 'application/json' });
    res.end(JSON.stringify({ users: [{ id: 1, name: 'John' }] }));
  } else {
    res.writeHead(404);
    res.end('Not Found');
  }
});

server.listen(3000);

Express (фреймворк) — это обёртка:

const express = require('express');
const app = express();

app.get('/api/users', (req, res) => {
  res.json({ users: [{ id: 1, name: 'John' }] });
});

app.listen(3000);

Что входит в js-core

КомпонентНазначение
Event LoopАсинхронное выполнение кода
Call StackСтек вызовов функций
MicrotasksПриоритетные асинхронные задачи
PrototypesНаследование
ClosuresОбласть видимости переменных
This bindingКонтекст выполнения

Для интервью: что знать о js-core

  1. Event Loop и асинхронность — setTimeout vs Promise vs async/await
  2. This binding — как работает контекст
  3. Прототипы и наследование
  4. Closures — замыкания
  5. Core модули Node.js — fs, path, http, events, stream
  6. Разница между callback, Promise и async/await

Вывод

js-core — это фундамент JavaScript, а не конкретный фреймворк. Собеседующий проверяет, понимаете ли вы базовые механизмы языка, а не только фреймворки вроде Express или NestJS.