VIDEO DARSLIKLAR
December 1, 2022

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

Davomi bor...