JavaScript Lessons
From basics to advanced: ES6+, async programming, DOM manipulation, and more.
JavaScript Basics
JavaScript Qanday Ishlaydi?
JavaScript engine qanday ishlashini o'rganing: Memory Heap, Call Stack, funksiya chaqiruvlari va execution context.
Execution Context nima?
Execution Context tushunchasini o'rganing: Global va Function Execution Context, Creation Phase va Execution Phase.
Variable (var / let / const)
JavaScript'da variable tushunchasini o'rganing: var, let va const farqlari, scope, TDZ, hoisting va qachon qaysi biri ishlatiladi.
Scope
JavaScript'da Scope tushunchasini o'rganing: Global scope, Function scope, Block scope, Lexical scope va Scope Chain.
Hoisting
JavaScript'da Hoisting tushunchasini o'rganing: Execution Context'ning creation phase, var, let, const va function declaration hoisting.
Data Types (Primitive vs Reference)
JavaScript'da Primitive va Reference data type'larini o'rganing: ularning farqi, xotira modeli va qanday ishlashini tushuning.
Type Coercion
JavaScript'da Type Coercion qanday ishlashini o'rganing: ToPrimitive algoritmi, operatorlar, boolean coercion va == comparison.
Operatorlar
JavaScript'da operatorlar qanday ishlashini o'rganing: equality, arithmetic, assignment, comparison, logical operators va nullish coalescing.
Strict Mode
JavaScript'da Strict Mode nima, qanday ishlashi va nimalarni o'zgartirishini o'rganing.
Stack va Heap
JavaScript'da stack va heap xotira tuzilmalari, primitive va reference turlari o'rtasidagi farq, call stack, stack overflow va memory leak tushunchalarini o'rganing.
JavaScript'da Loops
JavaScript'da for, while, do...while, for...in va for...of sikllarini hamda map, filter, reduce metodlarini real misollar bilan o'rganing.
Function Declaration vs Function Expression
JavaScript'da function declaration va function expression farqlari, hoisting, temporal dead zone hamda amaliy ishlatilish holatlarini o'rganing.
Arrow Function - to'liq tushuncha
Arrow function sintaksisi, oddiy function'dan farqlari, lexical this, arguments, constructor cheklovlari va callback'lardagi real qo'llanilishini o'rganing.
Call Stack nima?
JavaScript'da Call Stack qanday ishlashi, LIFO tartibi, stack overflow xatosi va Event Loop bilan bog'liqligini sodda misollar bilan tushuning.
Lexical Scope
Lexical Scope nima, Execution Context qanday ishlaydi, Creation va Execution Phase, Scope turlari va Scope Chain — barchasi bitta darsda.
Closure
Closure nima, V8 ichida qanday ishlaydi, [[Environment]] pointer, va closure ning klassik holatlar — counter va loop tuzo'g'i.
this
this nima, V8 ichida qanday ishlaydi, 4 ta qoida (implicit, losing, explicit, new), arrow function ning this mexanizmi.
call, apply, bind
this ni qo'lda belgilash — call, apply, bind farqi, V8 ichida BoundFunction va Internal Slots qanday ishlaydi.
IIFE
IIFE nima, nega qavslar kerak, V8 ichida qanday ishlaydi va Module Pattern, loop + var muammosi kabi real ishlatilishlari.
Recursion
Recursion nima, base case va recursive case, Call Stack qanday to'ladi va bo'shaydi, Stack Overflow, va Tail Call Optimization.
Higher-Order Function
HOF nima, First-Class Function tushunchasi, map/filter/reduce qanday ishlaydi, function composition va V8 ning JIT optimallashtirishi.
Object ichki tuzilishi
V8 obyektlarni qanday saqlaydi — Hidden Class, offset, Transition Chain, Inline Cache va Dictionary Mode ga o'tish.
Property Descriptor
Property lar orqasidagi yashirin metadata — writable, enumerable, configurable, accessor descriptor, freeze/seal va extensible.
Prototype Chain
[[Prototype]] va __proto__ nima, property qidirish zanjiri, Elements Kind, hasOwnProperty vs in, va constructor function orqali prototype sharing.
Constructor Function
Constructor function nima, .prototype qanday avtomatik biriktiriladi, new siz chaqirilsa nima bo'ladi, instanceof, constructor property va new.target.
new keyword ichida nima bo'ladi?
new operatori bajaradigan 4 qadam — yangi obyekt, prototype bog'lash, this bilan chaqirish, return qiymatini tekshirish — va arrow function bilan ishlamasligi.
Class (Syntactic Sugar)
Class tagida nima yotadi — constructor function + prototype. newsiz chaqirilmasligi, enumerable:false metodlar, TDZ va avtomatik strict mode kabi haqiqiy farqlar.
Inheritance
Prototype orqali meros — eski ES5 usuli va extends/super bilan zamonaviy usul, super() qanday this yaratadi, super.method() va ko'p darajali meros.
Static Method
Static metod oddiy metoddan qanday farq qiladi, V8 ichida qayerda saqlanadi, factory pattern, static ichida this va static metodlarning meros olinishi.
Private va Public Field'lar
Class field deklaratsiyasi, # private field va metodlar, V8 ichida maxsus private slot, brand check (#field in obj) va closure orqali "private" bilan solishtirish.
Object.create
Object.create nima qiladi, new'dan farqi, Object.create(null), ikkinchi argument (descriptor), toza inheritance va Object.setPrototypeOf bilan performance solishtiruvi.
Encapsulation Pattern
Ichki holatni himoya qilishning to'rt usuli — closure, private field (#), getter/setter validatsiya bilan va Object.freeze — va ularni birlashtirgan to'liq BankAccount misoli.
Map
Nega Map kerak, istalgan turdagi key, V8 ichida hash table + insertion order, Map vs Object performance va to'liq metodlar solishtiruvi.
Set
Set nima, nega array.includes() o'rniga Set kerak, V8 ichida hash table, SameValueZero, array'ni noyob qilish patterni va Set vs Array solishtiruvi.
WeakMap
Map'ning kuchli referensi memory leak'ga qanday olib keladi, WeakMap qanday yechadi, V8 GC Mark-and-Sweep bilan bog'liqligi va DOM/private-data amaliy holatlar.
WeakSet
WeakSet nima, nega faqat obyekt qabul qiladi, WeakMap bilan farqi, GC-friendly "marking" pattern va brand-check misoli graf aylanish (traverse) orqali.
Symbol
Symbol nima, nega yaratilgan, V8 uni xotirada qanday saqlaydi, Hidden Class bilan bog'liqligi, well-known Symbol'lar (Symbol.iterator, Symbol.toPrimitive) va Symbol.for() global registry.
Iterator
Iteration Protocol nima, Iterable va Iterator o'rtasidagi farq, for...of ichida V8 aslida nima qilishi, custom Iterable yasash, V8 optimallashtirishlari va Iterator Helpers (ES2024).
Iterable Protocol
Protocol tushunchasi, Iterable Protocol'ning aniq spec ta'rifi, nega aynan Symbol.iterator ishlatilgani, GetIterator abstrakt operatsiyasi va Iterable bilan Iterator o'rtasidagi eng ko'p uchraydigan chalkashlik.
Iterator Protocol
Iterator Protocol'ning aniq spec ta'rifi, IteratorResult semantikasi, .next(value) orqali qiymat yuborish, ixtiyoriy .return()/.throw() metodlari va V8 ichida Iterator qanday amalga oshirilishi (shu jumladan iterator elision).
Generator
Generator nima, function*/yield sintaksisi, Generator = Iterator + Iterable, .next(value) orqali ikki tomonlama aloqa, yield*, va V8 ichida Generator holat mashinasi (JSGeneratorObject) sifatida qanday amalga oshirilishi.
Proxy & Reflect
Proxy nima, 13 xil trap (get, set, has, deleteProperty, apply, construct va h.k.), Reflect nima uchun Proxy bilan juftlashtirilgan, V8 ichida Proxy Hidden Class/Inline Cache'ni qanday chetlab o'tishi, invariant'lar va Vue 3 reactivity kabi real qo'llanilishlar.
Destructuring, for...of, Spread/Rest
Array va Object destructuring nima uchun ikkita butunlay boshqa mexanizm, for...of va spread'ning Iterator Protocol bilan bog'liqligi, rest parametr, va V8 darajasida bularning har biri qanday optimallashtirilishi.
Single-thread model
JavaScript nima uchun bitta thread'da ishlaydi, race condition muammosi, V8'dagi yagona Call Stack, main thread blocking, va 'single-threaded' aslida butun brauzerga emas, faqat JS Engine'ga tegishli ekani.
Web APIs
setTimeout, fetch, addEventListener kabi funksiyalar aslida V8'ning bir qismi emasligi, ular brauzer/Node.js taqdim etadigan tashqi imkoniyatlar ekani, va Call Stack, Web APIs, Callback/Microtask Queue o'rtasidagi ishlash tartibi.
Event Loop
Event Loop'ning oddiy qoidasi (Stack bo'sh bo'lsa, Queue'dan ol), Microtask va Macrotask navbatlari o'rtasidagi prioritet, har bir Macrotask'dan keyin Microtask Queue to'liq bo'shatilishi, brauzerdagi rendering bosqichi, va Microtask Queue V8'da, Macrotask esa runtime'da joylashgani.
Callback
Callback nima ekani (sinxron va asinxron), continuation-passing style, Callback Hell (Pyramid of Doom) muammosi, Node.js'dagi error-first callback konventsiyasi, va closure orqali callback V8 darajasida qanday ishlashi.
Promise ichki mexanizmi
Promise'ning uchta holati ([[PromiseState]]), internal slotlari, executor'ning sinxron ishlashi, resolve/reject closure orqali qanday bog'langani, .then() yangi Promise qaytarishi, Resolution Procedure orqali flatten bo'lishi, .catch() propagation, va .then() nega har doim microtask ekani.
Microtask vs Macrotask
Macrotask va Microtask nega ikki xil navbat ekani, ularning to'liq manbalar ro'yxati va farqlar jadvali, queueMicrotask, Node.js'dagi process.nextTick, microtask starvation xavfi, va ikkalasi V8/runtime darajasida qanday farqlanishi.
Async/Await
async/await Promise ustidagi sintaktik shakar ekani, async funksiya har doim Promise qaytarishi, await funksiyani generator kabi qanday 'muzlatishi', bu mexanizm V8'da generator+Promise+Event Loop kombinatsiyasi orqali ishlashi, va awaitlarni parallel ishlatish.
Error handling async'da
Nega oddiy try/catch asinxron kodda ishlamasligi, Promise'da xato .catch() orqali qanday tarqalishi, async/await try/catchni qanday 'tiklashi', Promise.all/allSettled/race/any orasidagi xato boshqarish farqi, va unhandled rejection nima ekani.
Promise chaining
Promise chaining'ning to'g'ri yozilishi: har doim return qilish qoidasi, ichma-ich .then() yozishning xatoligi, zanjir ichida qiymat transformatsiyasi, xatoning zanjir bo'ylab qanday oqishi, .finally(), va V8'da har bir .then() bo'g'ini qanday alohida Promise ekani.
DOM nima?
DOM nima ekani va nega kerakligi, brauzer HTML'ni qanday parsing qilib DOM daraxtiga aylantirishi, DOM node'larining prototype zanjiri (EventTarget → Node → Element → HTMLElement), va live HTMLCollection bilan static NodeList orasidagi farq.
DOM tree vs Render tree
DOM tree va Render tree orasidagi farq, CSSOM nima ekani, brauzer DOM+CSSOM'ni Render tree'ga qanday birlashtirishi, display:none va visibility:hidden orasidagi Render tree darajasidagi farq, va bu bilim performance uchun nega muhimligi.
Reflow vs Repaint
Render tree ekranga chiqishdagi uch bosqich — Layout (Reflow), Paint (Repaint), Composite — va ularning narx farqi, har bosqichni keltirib chiqaruvchi CSS xususiyatlar, Layout Thrashing (Forced Synchronous Layout) xavfi, va uni oldini olish usuli.
Event bubbling
Event bubbling nima ekani, capturing/target/bubbling uch bosqichli model qanday paydo bo'lgani, brauzer darajasida bubbling zanjiri qanday ishlashi, event.target vs event.currentTarget, stopPropagation(), va qaysi hodisalar bubbling qilmasligi.
Event capturing
Event capturing bubbling'ning aksi ekani, addEventListener'ning uchinchi argumenti orqali capturing/bubbling tanlanishi, to'liq uch bosqichli oqim, capturing nima uchun kerakligi (stopPropagation'dan himoya, modal/dropdown), va brauzer bu ikkovini bitta yo'l massivi orqali qanday amalga oshirishi.
Event delegation
Event delegation texnikasi: bitta ota-elementga listener qo'yib bubbling orqali barcha bola elementlarni boshqarish, nega bu xotira/performance va dinamik elementlar uchun foydali, closest() bilan to'g'ri nishonni topish, va bubbling qilmaydigan hodisalardagi cheklov.
Storage APIs
Brauzerdagi to'rtta asosiy saqlash vositasi — Cookie, localStorage, sessionStorage, IndexedDB — ularning hajmi, umri, sinxron/asinxron ishlashi, va bularning barchasi V8 heap'idan tashqarida, diskda, origin bo'yicha qanday saqlanishi.
Fetch API
fetch() nima ekani va XMLHttpRequest'dan nega ustunligi, u Promise+Microtask+Event Loop mashinasini real tarmoq so'roviga qanday qo'llashi, Response obyektining ikki bosqichli dizayni, fetch() HTTP xatolarni nega avtomatik reject qilmasligi, va CORS/Same-Origin Policy.
AbortController
AbortController nima ekani va fetch()ni bekor qilish uchun nega kerakligi, race condition va memory leak muammolarini qanday hal qilishi, EventTarget asosida qanday ishlashi, bitta signal bilan bir nechta operatsiyani bekor qilish, va AbortSignal.timeout().
Garbage Collection
Garbage Collection nima ekani, reachability tushunchasi va reference counting'dan nega ustunligi, V8'ning Young/Old Generation xotira bo'linishi, Scavenger va Mark-Sweep-Compact algoritmlari, va Stop-the-world muammosini yumshatish texnikalari.
Memory Leak
Memory leak nima ekani va bu GC xatosi emas, reference boshqaruvi xatosi ekani, eng keng tarqalgan besh leak turi (timer, event listener, closure, global o'zgaruvchi, detached DOM), va WeakMap/WeakRef qanday yechim berishi.
Hidden Classes (V8)
V8'ning hidden class mexanizmi: dinamik JS obyektlarni tezkor xotira murojaati uchun qanday 'shape'larga aylantirishi, bir xil tartibda property qo'shilgan obyektlar bir xil hidden class'ni ulashishi, va tartibni buzish yoki delete ishlatish nega deoptimizatsiyaga olib kelishi.
JIT & Deoptimization
V8'ning JIT strategiyasi: Ignition interpretator va TurboFan optimizing compiler qanday ishlashi, TurboFan tur taxminlariga asoslangan tezkor kod yozishi, guard va deoptimization (bailout) mexanizmi, va polymorphism/megamorphism kabi deoptimizatsiyaga olib boruvchi sabablar.
Debounce
Debounce texnikasi: closure va setTimeout/clearTimeout orqali tez-tez ishga tushadigan hodisalarni (input, scroll, resize) qanday cheklashi, leading vs trailing debounce, va V8'dagi xotira/hidden class oqibatlari.
Throttle
Throttle texnikasi va debounce'dan farqi, timestamp-based va timer-based (trailing) implementatsiyalar, Event Loop/rendering bilan bog'liqligi, requestAnimationFrame asosidagi throttle, va qachon debounce, qachon throttle ishlatish kerakligi.
Lazy Loading
Lazy loading strategiyasi: native loading="lazy", IntersectionObserver, dynamic import() bilan code splitting, V8'ning ichki lazy parsing'idan farqi, va CLS/ortiqcha lazy qilish kabi xavf-xatarlar.
Memoization
Memoization texnikasi: pure funksiyalar uchun natijani keshlash, Fibonacci misolida O(2^n)dan O(n)ga tushish, JSON.stringify kalit muammosi va WeakMap yechimi, va V8'dagi CPU/xotira trade-off'lari (LRU kesh bilan).
Shallow vs Deep Clone
Shallow va deep clone farqi, V8'da primitive (value) va obyekt (reference/pointer) qiymatlarning xotirada qanday saqlanishi, structuredClone() va JSON.parse/stringify usullari, qo'lda rekursiv deep clone, va hidden class nuqtai nazaridan clone xarajati.
Immutability
Immutability falsafasi: reference tenglik orqali React/Redux'ning tez re-render qilishi, V8'da hidden class barqarorligi va structural sharing, Object.freeze() ning shallow ekani va deepFreeze, va Immer kabi kutubxonalarning Proxy asosida ishlashi.
Module Pattern
ES Modules'dan oldin JS'da built-in modul tizimi yo'qligi, IIFE + closure orqali qo'lda private/public ajratish, Revealing Module Pattern, va bu yondashuvning dependency boshqaruvi/global namespace kabi hal qilinmagan muammolari.
ES Modules (ESM)
ES Modules'ning til darajasidagi export/import sintaksisi, uning statik tabiati (top-level cheklovi), V8'dagi uch bosqichli jarayon (Parsing, Instantiation live binding bilan, Evaluation), Tree Shaking'ga nega imkon berishi, va brauzerdagi asinxron yuklash mexanikasi.
CommonJS (CJS)
CommonJS'ning require/module.exports mexanizmi, Node.js'dagi Resolve-Load-Wrap-Execute-Cache besh bosqichi, module.exports vs exports chalkashligi, va CommonJS'ning qiymat-nusxa bog'lanishi ESM'ning live binding'idan nega farq qilishi.
Tree Shaking
Tree shaking nima ekani: bundler statik tahlil orqali ishlatilmagan eksportlarni qanday belgilab o'chirishi (Garbage Collection'dagi reachability'ga o'xshash), side effects muammosi va package.json'dagi sideEffects flag, Webpack/Rollup/esbuild farqi, va V8'ning bunga aloqasi.
Code Splitting
Code splitting strategiyasi: dynamic import() orqali bundle'ni chunk'larga bo'lish, route-based splitting (React.lazy/Suspense), bundler'ning split-point va shared-vendor optimallashtirishi, va bu strategiyaning Tree Shaking'dan farqi.
Minification
Minification jarayoni: Tree Shaking'dan farqi, minifier'ning AST orqali ishlashi (mangling, constant folding, DCE), Gzip/Brotli bilan minification farqi, va V8'ning parse vaqtiga ta'siri haqiqatda qanday ekani.
Design Patterns: Factory va Observer
Factory Pattern obyekt yaratish mantig'ini qanday ajratishi va JS'da first-class function tufayli nega tabiiyligi, Observer Pattern closure orqali qanday qurilishi, addEventListener aslida Observer ekani, Observer vs Pub/Sub farqi, va unsubscribe unutilsa memory leak yuzaga kelishi.
Pub/Sub (Publish/Subscribe)
Pub/Sub Observer'dan qanday farqlanishi (vositachi Event Bus orqali decoupled modullar), qo'lda EventBus yozish (on/emit/off/once), emit'ning sinxron Call Stack zanjiri, queueMicrotask/setTimeout bilan asinxron qilish, va off() unutilsa memory leak.
State Management Asoslari
State management'ning asosiy g'oyasi (Single Source of Truth), Module Pattern + Pub/Sub + Factory'ning createStore ichida birlashishi, setState'ning to'g'ridan-to'g'ri mutatsiyadan nega yaxshiligi (reference equality), Redux'ning reducer pattern'i, va bu yondashuvning V8'dagi GC/tezlik oqibatlari.
SOLID JS'da
SOLID'ning besh qoidasi (S, O, L, I, D) JS misollarida: pure function orqali Single Responsibility, prototype polymorphism orqali Open/Closed, extends shartnomasi orqali Liskov, Object.assign composition orqali Interface Segregation, va Dependency Injection orqali Dependency Inversion.
Refactoring
Refactoring texnikalarining V8'ga real ta'siri: Extract Function'ning JIT inlining orqali deyarli bepul bo'lishi, Rename'ning V8'ga umuman ta'sir qilmasligi, Parameter Object'ning hidden class tartibiga bog'liqligi, va Replace Conditional with Polymorphism'ning megamorphic deoptimization xavfi.
Web Worker
Web Worker nima, u main thread'dan qanday mustaqil ishlaydi, Structured Clone Algorithm orqali ma'lumot uzatish, Transferable Objects bilan katta buferlarni nusxasiz ko'chirish va Dedicated/Shared/Service Worker turlari farqi.
Service Worker
Service Worker nima, u oddiy Web Worker'dan qanday farq qiladi, install/activate lifecycle bosqichlari, "waiting" holati va skipWaiting, fetch event orqali proxy sifatida ishlashi, Cache API va Cache First / Network First / Stale-While-Revalidate strategiyalari.
IndexedDB
IndexedDB nima, localStorage'dan qanday farq qiladi, Database/Object Store/Index/Transaction tushunchalari, onupgradeneeded lifecycle, transaction ACID kafolatlari, Object Store metodlari, Index va Cursor, va brauzer engine darajasida (Storage process, LevelDB/SQLite) qanday ishlashi.
WebSocket
WebSocket nima, HTTP Upgrade mexanizmi orqali qanday ochilishi, ws:// va wss:// farqi, matn/binary xabar formatlari, freym tuzilishi va masking, ping/pong, close kodlari, reconnect strategiyasi va event loop darajasida qanday ishlashi.
Streams API
Streams API nima, ReadableStream/WritableStream/TransformStream turlari, reader.read() orqali chunk-based o'qish, .text()/.json()/.blob() metodlarining ichki mexanizmi, TextDecoder, pipeThrough zanjiri, backpressure va pull model, hamda browser engine darajasida qanday ishlashi.
Shadow DOM
Shadow DOM nima, Shadow Host/Root/Tree tushunchalari, open va closed rejimlar farqi, CSS izolyatsiyasi engine darajasida qanday ishlashi, :host va ::slotted, <slot> orqali content proyeksiyasi, composed event'lar va Web Components bilan bog'liqligi.
Web Components
Web Components nima, uchta ustuni (Custom Elements, Shadow DOM, HTML Templates), lifecycle callback'lar (constructor, connectedCallback, disconnectedCallback, attributeChangedCallback), observedAttributes, <template> va named slot'lar, custom event'lar orqali composed: true, customElements API metodlari va React/Vue bilan taqqoslash.
XSS
XSS (Cross-Site Scripting) nima, Stored/Reflected/DOM-based turlari, innerHTML orqali xavfli holatlar, textContent va DOMPurify orqali himoya, xavfli/xavfsiz API'lar jadvali, href orqali javascript: hujumi, Content Security Policy va nonce, HttpOnly cookie, va HTML parser darajasida bu muammo qanday paydo bo'lishi.
Performance Budget
Performance budget nima, miqdoriy va vaqt asosidagi budget turlari, Core Web Vitals (LCP, INP, CLS), Long Task va Event Loop bilan bog'liqligi, Webpack/Lighthouse CI orqali avtomatik nazorat, va bundle hajmining V8 Parse/Compile bosqichlariga qanday ta'sir qilishi.
DOM va Virtual DOM
DOM va Virtual DOM farqi, nega DOM'ga tegish qimmat, ro'yxatlarda key muammosi va yechimi, diffing algoritmining taxminiy tabiati, V8'dagi obyekt yaratish narxi bilan DOM reflow/repaint narxini taqqoslash, va Virtual DOM har doim tez bo'lmasligi (Svelte misoli).
SSR vs CSR
SSR (Server-Side Rendering) va CSR (Client-Side Rendering) farqi, vaqt chizig'i orqali solishtirish, SEO va sekin internet uchun SSR'ning afzalligi, CSR'ning server yuki va sahifalar orasida tez o'tish afzalligi, Hydration tushunchasi va V8/brauzer darajasida DOM qurilishining farqi.
Hydration
Hydration nima, SSR'dan kelgan 'o'lik' HTML'ga JS qanday ulanishi, mount() bilan farqi, Hydration mismatch xatosi va uning yechimi, vnode va real DOM'ning node-by-node solishtirilishi, addEventListener'ning V8/brauzer darajasida arzon bo'lishi, va Selective/Progressive Hydration.
Frontend Architecture
Frontend arxitekturasi nima, Layer-based va Feature-based tuzilma farqi, unidirectional data flow, komponent chegaralari (coupling/cohesion), rendering strategiyasini tanlash (CSR/SSR/SSG/ISR), code splitting arxitekturasi, micro-frontends, va arxitektura qarorlarining V8/brauzer darajasida bundle parse/compile va main thread'ga ta'siri.
Logging strategiyasi
Logging nima, production'da console.log yetarli bo'lmasligi, strukturaviy (JSON) logging, log darajalari (debug/info/warn/error/fatal), maxfiy ma'lumotni loglamaslik, Correlation ID orqali ko'p xizmatli tizimda izlash, markazlashtirilgan logging tizimlari, va sinxron logging'ning Node.js event loop'ga ta'siri.
Monitoring tushunchasi
Monitoring nima, Logging bilan farqi, Golden Signals (Latency, Traffic, Errors, Saturation), o'rtacha (average) ko'rsatkichning aldamchiligi va p95/p99 percentile, alerting va 'alert charchashi', health check, distributed tracing, va Node.js'ga xos Event Loop Lag/GC pauzalari kabi runtime metrikalar.
Import yo'llari
Relative va absolute/alias import yo'llari farqi, chuqur papka strukturasida ../../../../ muammosi, Path Alias yechimi (tsconfig/jsconfig va bundler resolve.alias), Node.js module resolution algoritmi, bundler'da build vaqtida alias hal qilinishi, va circular import xavfi.
Regex
Regex (Regular Expression) nima, literal va constructor sintaksisi, oddiy belgilar, nuqta (.) va istalgan belgi, * + ? takrorlanish belgilari, [] belgilar to'plami, \d \w \s shortcut'lari, va ^ $ boshlanish/tugash belgilari.
Object.freeze / Object.seal
Object.freeze va Object.seal farqi, property descriptor darajasida (writable, configurable, extensible) nima o'zgarishi, shallow freeze muammosi va deep freeze yechimi, const bilan farqi, strict mode'dagi sokin muvaffaqiyatsizlik xavfi, va konstanta/enum/state immutability uchun amaliy qo'llanilishi.