JavaScript - 2023 | Updated 2025
Ushbu postda JavaScript’dan bilishingiz kerak bo‘lgan barcha asosiy ma’lumotlar jamlangan. Agar post sizga dasturlashni o‘rganishda foydali va manfaatli bo'lgan bo‘lsa, g‘oyibona duo qilishingizning o‘zi kifoya.
Barcha ma‘lumotlar ustozim Webbrain Academy asoschisi Sardorbek Muhtorov darsligiga asoslanib tayyorlandi.
Hurmat bilan Foziljon Azimov.
BASICS
1 - Dars | JS ga Kirish | Variables | Data Types
— JS nima?
— JS qanday ishlaydi ? Interpreter - nima ?
— Single Thread?
— Veriables nima ?
— Veriables necha xil usulda declare(e'lon) qilinadi ?
— Variables - var, let, const - farqlari ?
— Veriables nomlash usullari:
camelCase / snake_case / PascalCase / UPPER_CASE
— Reserved Keywords - nima ?
— NodeJS install / terminal dan foydalanish
— alert(), prompt(), confirm()
2 - Dars | Data Types
— Data Types
— Primitive:
number - 2^53 => ± 9 007 199 254 740 992
bigInt - 9 007 199 254 740 992n
string - matn,
boolean - true / false,
null,
undefined,
symbols
— null vs undefined
— NonPrimitive:
Objects - object, array, function
— primitive va nonPrimitive - farqi nimada ?
3 - Dars | Type Conversions | Operators | Comparison | Logical Operators
— Type convirsions
— Operators +, -, *, /, %, (), =, ++, --, **
— Comparision ==, ===, <, >, <=, >=
— Logical Operations ||, &&, !, ??
— Difference between ?? and ||
4 - Dars | If else | Switch | Ternary
— If else with single condition
— If else with multi state condition
— If else with boolean conversion
— Switch case | break
— Ternary ( ? : )
5 - Dars | For loop
— For loop
— For loop parameterlarining tushurib qoldirilishi
— Infinite loops
— break, continue
— Toq va Juft sonni topish. 99% kishi buni xato yo'lda qiladi.
— Nested Loops
— Label of inner Loops
6 - dars | while | do while loop
— while
— do while
7 - dars | functions
— function decloration
— function expression
— arrow function
— shadowed variable
— parameter and argument
— default parameter
— functions with return
8 - dars | Basic Object - 1/5
— Savol Javob!
— Tushuntirib berish boshqa level!
— Logica nega kerak?
— Objects
— Object created
— Dynamic access to keys
9 - dars | Advanced Object - 2/5
— Dynamic access to keys
— Copying vs Referencing
— Object assign
— structeredClone
— for in
10-dars | Advanced Object - 3/5
— Savol Javob!
— Uyga vazifadan chiqmagan masalalar yechimi.
— Call Stack va Heap qanday malumot saqlaydi?
— this method.
— Constructor Functions
— Symobls as a Key
— Object keylarini yozilish usullari
11 - dars | Advanced Object - 4/5
— Distructure { }
— Renaming variables
— Updating Objects
— What is Garbage collection
12 - dars | Numbers
— Savol Javob!
— Number representation
— Number constructor
— Parsing numbers
— Integer and Faloat numbers.
— Decimal number.
— Binary numbers.
— Hex numbers.
13 - dars | Math
— Math - abs, floor, ceil, round, trunc, random, min, max, pow, sign, sqrt, cbrt
— Methods, toString, toFixed, parseInt, parseFloat, isNaN, isFinite, Object.is
— Strange JS
— Homework
14 - dars | Optional Chaining.
— Optional Chaning nima?
— Projectni to'g'ri ishlashi uchun muhim lifehack.
15 - dars | String.
— Quots -> ' ', " ", ` `
— Special characters -> \n , \t
— Accessing chars
— Loop
— Comparision
— Methods:
length, charAt, charCodeAt, at, concat, includes, endsWith, startsWith, search, indexOf,
lastIndexOf, padStart, padEnd, repeat, replace, replaceAll, slice, substring, split, trim, toString, toUpperCase, toLowerCase, localeCompare, eval
— String.fromCharCode, String.fromCodePoint, String.raw
— Homework explanation
16 - dars | Array Basics 1/5
— Array nima?
— array decloration
— new Array()
17 - dars | Array Advanced 2/5
— Array loops?
— multi dimansional arrays
— basic array methods:
push(), pop(), unshift(), shift(), delete, length, at(), indexOf(), lastIndexOf(), includes(), split(), join(), reverse(), concat(), slice(), splice();
18 - dars | Array Advanced 3/5
— advanced Array
— advanced array methods:
forEach(), map(), filter(), find(), findIndex(), findLastIndex(), sort(), every(), some(), flat(), flatMap(), fill(), copyWithin()
— find() va findIndex() ishlash tezligidagi farqi.
— filter() va find() methodlarining farqi.
— forEach() va map() methodlarining farqi.
19 - dars | Array Advanced 4/5
— reduce((accumulator, item, index, array)=>{}, [initial])
— Immutable and Mutable methods
— new Set()
— new Map()
— Array.isArray(), Array.from(), Array.of()
— array callback methods
20 - dars | Array Expert 5/5
— Advanced Array CRUD exercise
— Savol Javob
— C - Create, adding user info
— R - Reading, filter, sort, order...
— U - Update, change user info, mapping
— D - Deleting user info, filter
— Exercises
21 - dars | Distructure | Spread | Rest
— Object distructure
— Array distructure
— Parameter distructure
— Nested distructure
— Spread operator (...)
— Rest operator (...)
— Difference between Spread & Rest
22 - dars | New Date | JSON
— new Date methods: getFullYear(), getMonth(), getDate(), getDay(), getHours(), getMinutes(), getSeconds(), getMilliseconds(), getTime(), toDateString(), toTimeString(), toISOString(), toUTCString(), toLocaleString(), toLocaleDateString(), toLocaleTimeString()
— JavaScript Object Notation
— stringify and paramas
— JSON.stringify(value, replacer, space)
— parse and paramas
— JSON.parse(text, callback)
23 - dars | Map and Set | WeakMap and WeakSet
— new Map: set, get, has, size, delete, clear
— new Map as a generator
— Loops with new Map
— new Set: add, has, size, delete, clear
— Loops with new Set
— new WeakMap
— new WeakSet
24 - dars | Recursion function
— Recursion function nima?
— Recursion qanday ishlaydi?
— Kompaniya oyliklarini recursion bilan hisoblash
— Recursiya bilan oddiy loopning farqlari va ustunligi.
— Homeworks
25 - dars | Scopes | Hoisting | Closure
— Scope nima?
— Hoisting nima?
— Closure nima?
— Lexical Environment nima?
— Garbage collection with scopes.
26 - dars | Old var | Global Object
— Kitob o'qishga rag'bat.
— Nega var bugungi kunda kam ishlatiladi?
— IIFE: Immediately invoked function expression
— NFE: Named Function Expression
— Global Obejct: window, global, globalThis.
— Function as an Object.
— new Function: constructor function
27 - dars | setTimeout | setInterval
— sinxron(synchronous) va asinxron(asynchronous) tushunchalar - 1/2
— setTimeout qanday ishlaydi?
— setInterval qanday ishlaydi?
— Garbage collection / clearInterval / clearTimeout
28 - dars | Advanced functions
— function call
— function apply
— function bind
29 - dars | Cache | DDOS attack Types
— this qaysi holatlarda undefined bo'lib qoladi?
— Transparent cache
— DDOS attack'ning sodda ko'rinishi.
30 - dars | Advanced Objects | setter and getter functions 5/5
— Properties flag and descriptor
— getOwnPropertyDescriptor(obj, propertyName)
— getOwnPropertyDescriptors - clone obj
— defineProperty(obj, propertyName, descriptor)
— defineProperty -> writable, enumerable, configurable
— defineProperties(obj, descriptors)
— preventExtensions(obj) - no add, can update, can delete
— isExtensible(obj) - (true or false)
— seal(obj) - no add, can update, no delete
— isSealed(obj) - (true or false)
— freeze(obj) - no add, no update, no delete
— isFrozen(obj) - (true or false)
— setter and getter with function
31 - dars | prototype | __proto__
— proto nima?
— prototype nima?
— prototype vs proto farqi?
32 - dars | Classes Basics 1/4
— Classes nima?
— constructor classes nima?
— Global variables in class
— getter and setter with classes
— Computed named classes
33 - dars | Classes Basics 2/4
— OOP
— Inheritance - meros olish
— Overriding method
— Overriding constructor
— Overriding class fields
34 - dars | Classes Advanced 3/4
— Static variables
— Static functions
— Built-in classes
— instanceof
35 - dars | Classes Advanced 4/4
— Public and Private classes
— Mixins
— Homework
36 - dars | Error handling | Callback
— try catch error->(name, message, stack)
— Callbacks
— Callback hell
— Built-in Callbacks
37 - dars | Promise
— Promise
— Promise: .then, .catch, .finally
38 - dars | Async await — async await
39 - dars | Generator functions
— generator function nima? // yield, return
— loop with generator function
— generator instance
— ID generating with generator function with real example
— .next va .return properties haqida.
40 - dars | Modules
— Module nima?
— Old organisational way
— import va export
— direct import
— export vs default export
— import all
— changing import name
41 - dars | Curry function
— Curry function nima?
— Nimaga curry function kerak?
— Infinite curry function
42 - dars | Proxy 1
— What is proxy?
— Target / handeler
— set / get
43 - dars | Proxy 2
— owenKeys
— Reflect
— Reference this
44 - dars | DOM kirish. — Accessing the DOM (Document Object Model).
— what is a window?
— innerHeight, innerWidth
— outerHeight, outerWidth
— location
— JavaScript architecture
— what is a JavaScript Engine?
45 - dars | Nodes | Elements.
— document
— nodes in detail
— elements in detail
— parent and child
— childNodes | parentNode | previousSibling | nextSibling
— children | parentElement | firstElementChild | lastElementChild | previousElementSibling | nextElementSibling
46 - dars | DOM Selectors.
— selectors: getElementsByTagName | getElementsByClassName | getElementsByName | getElementById
— query selectors: querySelector | querySelectorAll
— difference between HTMLCollection and NodeList
— DOM content manipulation
— innerHTML | outerHTML | innerText | textContent
47 - dars | Attribute manipulation.
— Browser Load
— hasAttribute
— getAttribute
— setAttribute
— removeAttribute
48 - dars | Creating element.
— createElement
— createTextNode
— Insertion
— append
— prepend
— before
— after
— remove
— replaceWith
49 - dars | Style in JS and classes.
— style
— cssText
— logical operation
— className
— classList / add, remove, toggle, contains, replace
50 - dars | Geometry.
— Geometry - offsetParent/Left/Top
— ofsetWidth/Height
— clientTop/Left
— clientWidth/Height
— scrollWidth/Height
— scrollLeft/scrollTop
— getComputedStyle - ❌
— Coordinate - getBoundingClientRect()
51 - dars | Window sizes and scrolling.
— documentElement
— scroll / scrollBy / scrollTo / scrollIntoView -> true, false
— Forbid the scrolling
52 - dars | Events.
— addEventListener / event, handler, options
— removeEventListener
— params / this
— mini project
— closest
— Events with class
53 - dars | Events bubbling.
— Bubbling qanday muammolarga sabab bo'ladi?
— stopPropagation
— stopImmediatePropagation
54 - dars | Events Deligation.
— Browser default action?
— prevent actions -> preventDefault
55 - dars | Mouse Events in Deep.
— click / onclick
— what is event overwriting?
— dblclick / ondblclick
— mousedown / onmousedown
— mouseup / onmouseup
— mousemove / onmousemove
— mouseover / onmouseover
— mouseout / onmouseout
— mouseenter / onmouseenter | Difference between mouseenter && mouseover
— mouseleave / onmouseleave | Difference between mouseleave && mouseout
— contextmenu / oncontextmenu
— wheel / onwheel
56 - dars | Keyboard events and actions.
— keydown / onkeydown
— keyup / onkeyup
— keypress / onkeypress | deprecated
— KeyboardEvent | key, code, altKey, ctrlKey, shiftKey, metaKey (Command, Windows), repeat
57 - dars | Security Practices in Browser Incidents.
— copy ~ stop copying
— cut ~ stop cutting
— paste ~ stop paste
— contextmenu ~ stop contextmenu
— keydown ~ stop F12, Ctrl+U, Ctrl+S...
— dragstart (draggable) ~ stop dragging
— selectstart ~ stop selecting text
58 - dars | Scroll events and Project.
— scroll / onscroll
— pageYOffset in window
— show / hide (mini project)
59 - dars | Forms | controls | events.
— Validation (focusing)
— focus, blur
— focusin, focusout
— change / onchange
— input / oninput
— submit / onsubmit
60 - dars | Event loop.
— Event loop nima?
— Microtask?
— Macrotask?
61 - dars | Network request.
— fetch(url, [options])
— .then() | .catch()
— options -> method | headers | body
— method -> GET | POST | PUT | PATCH | DELETE
— headers -> Content-Type
— body -> JSON.stringify(data)
— Free Server: https://crudcrud.com/ | https://mockapi.io/
62 - dars | Storing data in the browser.
— localStorage / sessionStorage
— setItem | getItem | removeItem | clear
— document.cookie
63 - dars | JavaScript Exam.
— Advanced Interview.
— Practical exercise.