JavaScript Zero to Expert | 2023
O'zbek dasturchilik segmentida JavaScriptning no'ldan boshlab murakkab qismigacha o'tilgan biron darslik yo'q! Yani seniorlikka chiqish uchun albatta chet el dasturchilarni ko'rishga majburmiz. Mana shunday muammoni oz bo'lsada hal qilsih uchun sizlarga zero to expert nomli javascript kontentini yozishga qaror qildik.
JavaScript darsligini tugatib agar siz ReactJSning 50% ishlash tizimini tushunmasangiz, demak siz JavaScript darsligini yaxshi tushunmabsiz.
Mualliflik huquqiga amal qiling. Ruhsatsiz foydalanilgan kontent va video darsliklar ham diniy ham dunyoviy qoidalarga to'g'ri kelmaydi!
Kontentdan foydalanmoqchi bo'lganlar uchun eslatma barcha foydalanilgan kontent varoqalarida Webbrain Academy tamonidan tayorlanganligi haqidagi ma'lumot bo'lishi shart!
Video darsliklar Webbrain Academy bosh mentori Sardorbek Muhtorov tomonidan tayorlandi!
Videoni to'liq sotib olish uchun: https://teletype.in/@webbrain_ceo/video_darsliklar
BASICS
1 - dars | JavaScript'ga kirish
β JavaScript nima?
β JS'ni githubga bo'glash
β JavaScriptni codini compile qilish
β NodeJS o'rnatish.
2 - dars | Variables
β JavaScript ishlash strukturasi
β Threadlar haqida umumiy tushuncha.
β Variables va Declorations haqida batafsil.
β let, var const larning bir biridan farqi.
3 - dars | Data Types
β Data Types nima?
β Primitive vs Non Primitive
β Number.
β Bigint.
β String.
β Boolean
β Null
β Undefined
β Symbols
β Objects
β Arrays
β Functions
4 - dars | Type Conversions
β O'tilgan darslar yuzasidan savol javob.
β Number Type Conversion.
β String Type Conversion.
β Boolean Type Conversion.
β Null vs Undefined
5 - dars | Operators
β Math operators + - * / % () .
β Tenglik = == ===.
β Qisqartmalar.
β Increment.
β Decrement
6 - dars | Logical Operation
β Comparision
β AND / OR / NOT
β Tenglik = == ===.
β Logical comparision.
β ASCII table haqida.
β amaliy mashqulotlar.
7 - dars | if else
β O'tilgan darslar yuzasidan savol javob.
β if else tushunchasi..
β birdan oshiq holatni taqqoslash.
β else if.
β else if bilan if ning ishlatilishidagi farqi.
β if ishlatishda orderning ahamiyati
8 - dars | ternary operator
β ternary operator nima?
β if else bn ternaryning ishlatilishidagi farqi.
β ikkitadan oshiq holatlarni taqqoslash.
9 - dars | nullish operator.
β Nullish operatori nima?
β Nullish bilan boshqa logical operatorlini farqlari haqida.
10 - dars | Switch
β Githubda file'larni to'g'ri joylash.
β O'tilgan darsliklar yuzasidan savol javob.
β ikkitadan oshiq holatlarni taqqoslash.
β Switch nima?
β Switch bilan if va ? larni taqqoslash.
11 - dars | for loop
β For loop
β For loop parameterlarining tushurib qoldirilishi
β Infinite loops
β var bilan let farqi
β Toq va Juft sonni topish. 99% kishi buni xato yo'lda qiladi.
β Nested Loops
β Label of inner Loops
12 - dars | while | do while loop
β while
β do while
13 - dars | functions
β Function decloration
β Function Expression
β Arrow Function
β Shadowed variable
β Default parameter
β Functions with return
14 - dars | Basic Object - 1/5
β Savol Javob!
β Tushuntirib berish boshqa level!
β Logica nega kerak?
β Objects
β Dynamic access to keys
15 - dars | Advanced Object - 2/5
β Dynamic access to keys
β Copying vs Referencing
β Object assign
β structeredClone
16-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
17 - dars | Advanced Object - 4/5
β Distructure { }
β Renaming variables
β Spread operator (...)
β Updating Objects
18 - dars | Numbers
β Savol Javob!
β Number representation
β Number constructor
β Parsing numbers
β Integer and Faloat numbers.
β Decimal number.
β Binary numbers.
β Hex numbers.
19 - dars | Math
β Math - abs, floor, ceil, round, trunc, random, min, max, pow, sign, sqrt, cbrt
β Methods, toString, toFixed, parseInt, parseFloat, isNaN, Object.is, toPrecision,
β Strange JS
β Homework
20 - dars | Optional Chaining.
β Optional Chaning nima?
β Projectni to'g'ri ishlashi uchun muhim lifehack.
21 - dars | String.
β Homework explanation
β Quots
β Special characters
β Accessing chars
β Loop
β Comparision
β Methods
22 - dars | Array Basics 1/5
β Array nima?
β array decloration
β new Array
β basic array methods
23 - dars | Array Advanced 2/5
β Array loops?
β multi dimansional arrays
β advanced array methods
β Interview assignment
24 - dars | Array Advanced 3/5
β Advanced Array
β find va findIndex ishlash tezligidagi farqi.
β forEach va Map farq
β Multi dimansional arrays
25 - dars | Array Advanced 4/5
β array callback methods
β Exercises
β Reduce.
β flat.
β new Set
β new Map
26 - 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
27 - dars | Distructure
β Array distructure
β Object distructure
β Parametor distructure
β Nested distructure
β res
28 - dars | New Date | JSON
β new Date methods
β JavaScript Object Notation
β stringify and paramas
β parse
29 - dars | Map and Set | WeakMap and WeakSet
β new Map: set, get, delete, clear
β new Map as a generator
β Loops with new Map
β new Set: add, has, delete, clear
β Loops with new Set
β new WeakMap
β new WeakSet
30 - dars | Recursion function
β Recursion function nima?
β Recursion qanday ishlaydi?
β Kompaniya oyliklarini recursion bilan hisoblash
β Recursiya bilan oddiy loopning farqlari va ustunligi.
β Homeworks
31 - dars | Scopes | Closure
β Scope nima?
β Lexical Environment nima?
β Closure nima?
β Garbage collection with scopes.
32 - dars | Old var | Global Object
β Kitob o'qishga rag'bat.
β Nega var bugungi kunda kam ishlatiladi?
β IIFE: Immediately invoked function expression
β Global Obejct: window, global, globalThis.
β Function as an Object.
β NFE: Named Function Expression
β new Function: constructor function
33 - dars | setTimeout | setInterval
β sinxron(synchronous) va asinxron(asynchronous) tushunchalar - 1/2
β setTimeout qanday ishlaydi?
β setInterval qanday ishlaydi?
β Garbage collection / clearInterval / clearTimeout
34 - dars | Advanced functions
β function call
β function apply
β function bind
35 - dars | Cache | DDOS attack Types
β function call
β Transparent cache
β DDOS attack'ning sodda ko'rinishi.
β this qaysi holatlarda undefined bo'lib qoladi?
36 - dars | Advanced Objects | setter and getter functions 5/5
β Properties flag and descriptor
β defineProperty
β getOwnPropertyDescriptor
β setter and getter with function
37 - dars | prototype | __proto__
β proto nima?
β prototype nima?
β prototype vs proto farqi?
38 - dars | Classes Basics 1/4
β Classes nima?
β constructor classes nima?
β Global variables in class
β getter and setter with classes
β Computed named classes
39 - dars | Classes Basics 2/4
β OOP
β Inheritance - meros olish
β Overriding method
β Overriding constructor
β Overriding class fields
40 - dars | Classes Advanced 3/4
β Static variables
β Static functions
β Built-in classes
β instanceof
41 - dars | Classes Advanced 4/4
β Private classes
β Mixins
β Homework
42 - dars | Error handling | Callback
β try catch
β Callbacks
β Callback hell
β Built-in Callbacks
β Facebook login example
43 - dars | Promise
β Promise
β Throwing errors
β Finally
β Facebook login example
β Promise: .then, .catch, .finally
β promise chaining
β promise all
44 - dars | Async await
β try catch
β optional catch
β Throwing errors
β Finally
β Facebook login example
β async await
45 - 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.
46 - dars | Modules
β Module nima?
β Old organisational way
β import va export
β direct import
β default export va import
β export vs default export
β changing import name
47 - dars | Curry function
β Azizbek Mukhtorov bn interview suhbat
β Curry function nima?
β Nimaga curry function kerak?
β Infinite curry function
48 - dars | Proxy 1
β What is proxy?
β Target / handeler
β set / get
49 - dars | Proxy 2
β owenKeys
β Reflect
β Reference this
50 - dars | DOM kirish.
β Document Object Model ga kirish
β window haqida tushuncha
β JavaScript architecture
51 - dars | Nodes | Elements.
β Nodes in detail
β Elements in detail
β Parent and child
52 - dars | DOM Selectors.
β Selectors
β Query selectors
β DOM content manipulation
53 - dars | Attribute manipulation.
β Browser Load
β hasAttribute
β getAttribute
β setAttribute
β removeAttribute
54 - dars | Creating element.
β createElement
β createTextNode
β Insertion
β before
β after
β remove
β append
β prepend
β replaceWith
55 - dars | Style in JS.
β style
β cssText
β logical operation
56 - dars | Geometry.
β Geometry - offsetParent / offsetLeft
β Scroll - scroll / scrollBy / scrollTo
β Coordinate - getBoundingClientRect()
57 - dars | Events.
β Mouse Events
β addEventListener
β Params / this
β Mini Project
58 - dars | Events 2
β addEventListener
β Events with class
59 - dars | Events bubbling.
β Bubbling qanday muammolarga sabab bo'ladi?
β stopPropogation
β stopImmediatePropogation
60 - dars | Events Deligation.
β Browser default action?
β navigation
β prevent actions
β Project.
61 - dars | Mouse Events in Deep.
β onclick
β oncontextmenu
β onmouseover / mouseout
β onmousedown / mouseup
β onkeyPress β onchange
β onmousemove
β ondblclick β double click
β oncopy β ctr + c
β onpaste β str + v
62 - dars | Keyboard events and actions
β shiftKey: Shift
β altKey: Alt (or Opt for Mac)
β ctrlKey: Ctrl
β metaKey: Cmd for Mac
β Keyboard actions
β evnt.type
β event keys β canβt be triggered by default
63 - dars | Scroll events and Project
β show / hide
β events.scrollHeight
β element.scrollTop
β element.clientHeight
β mini project
65 - dars | Range | Select
β Range nima?
β Keyboard events
β Range Properties
β Selection Attrabutes
β Selection Events
β Range vs Select
66 - dars | Event loop
β Event loop nima?
β Microtask?
β Macrotask?
67 - dars | Execution structure
β DOMContentLoad
β Load / onerror / beforeunload / unload
β async va defer
68 - dars | Observer
β MutationObserver
β childList
β subtree
β attributes
β characterData
69 - dars | click jank attack. β clickjank attack qachon bo'ladi?
β Same Origin Policy
β Blocking top navigation
β X-Frame-Option
β extra video link
70 - dars | Array buffer.
β ArrayBuffer nima?
β TypedArray?|
β Unit8Array?
β DataView
β TextDecoder
β TextEncoder
71 - dars | Blob.
β Blob nima?
β Blob as URL
β Blob to buffer
72 - dars | File reader. β File
β FileReader
β readAsArrayBuffer
β readAsText
β readAsDataURL
73 - dars | fetch 1.
β Backend bilan ishlash.
β Fetch nima va uning terminlari haqida.
β Status codes
β Methods
β fetch with promise.
β fetch with async await
74 - dars | fetch 2.
β Backend bilan ishlash.
β backenddagi malumotni ekranga chiqarish.
β Status codes
β Malumotni backenddan o'chirib yuborish.
75 - dars | fetch 3 | Advanced.
β Fetch Body.
β Fetch headers
β Methods
β Authentication
β swagger.
76 - dars | fetch 4 | Expert Project.
β Sending Image
β Swagger in detail.
β Multipart file
β Form Data
β ReadbleStream
β Fetch API's
77 - dars | URL | SearchParams.
β new URL
β protocol / pathname / host / href / search / hash
β SearchParams
β URL bo'yicha filter qilish.
β URL bo'yicha share qilish.
78 - dars | LocalStorage. β setItem
β getItem
β removeItem
β clear
β Object.keys
79 - dars | SessionStorage.
β setItem
β getItem
β removeItem
β clear
β Object.keys
80 - dars | Cookies | Security.
β what is cookies?
β expires or max-age?
β session cookies?
β delete Cookie
β XSRF attack nima?
β Pul o'tkazmalarini qanday hack qilsa bo'ladi, agar...?
β Cookies flaglari haqida.
β Secure
β samesite - lax va strict
81 - dars | Encoding | Decoding | Security.
β decodeURIComponent.
β decodeURI.
β encodeURIComponent
β new URL.
β searchParams with encode and decoders
82 - dars | Websocket | ExpresJS | Backend.
β new Websocket
β open / message /error / close
β ws:// and wss://
β SearchParams
β Websocket Protocol
β Data Transfer
β Chatting application
β Backend with expressJS
83 - dars | IndexedDB 1 | Offline application.
β indexedDB nima va qachon ishlatiladi?
β offline database ochish.
β Request events haqida.
β DB versiyasini yangilash.
β ObjectStore yasash haqida.
84 - dars | IndexedDB 2 | Transactions | Pul o'tkazmalari.
β Transactions'lar nima?
β Bankdan pul o'tkazmalarni indexedDB orqali amalaga oshirish tartiblari.
β C reate DBStore.
β R ead DBStore.
β U pdate DBStore.
β D elete DBStore.
85 - dars | IndexedDB 3 | Index | Range | Search
β Index.
β Malumot qo'shishdagi options.
β Filter by data value / name / grade
β IDBKeyRange
β LowerBound / UperBound orqali filter qilish
β bound orqali filter qilish.
β "A", "Z" va "a", "z" bo'yicha filterlash.
BONUS VIDEOS
86 - dars | Custom Elements 1
β HTMLElement
β Shadow DOM.
β Slot / props in react
β children in react
87 - dars | Custom Elements 2 | Advanced
β style custom element
β :host / :host() / :host-context()
β ::slotted() / ::part()
β setter / getter
β connectedCallback
β disconnectedCallback
β observedAttributes
β render
88 - dars | RegExp - 1 | Basics
β Flags
β Searching / Replacing / Testing
β Character Classes
β Inverse classes
β Unicode Flag
β Anchor
β Word boundary
89 - dars | RegExp - 2 | Advanced
β Escaping
β Sets and Range
β Quantifiers
β Greedy mode
β Lazy mode
β Capturing groups
β Named groups
β Backreference
90 - dars | RegExp - 3 | Expert
β Alternation
β Lookhead
β Lookbehind
β Catastrophic backtracking
β Sticky flag
β Methods of RegExp
BONUS
Interview savollari va amaliy mashqlar: https://t.me/javascript_homework