February 29, 2024

IT House (JavaScript beginner to expert)Β 

Boshlang'ich

1 - dars | JavaScript'ga kirish

β€” JavaScript nima?
β€” 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
β€” 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
β€” Logical comparision.

7 - dars | if else
β€” 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.
β€” ikkitadan oshiq holatlarni taqqoslash.
β€” Switch nima?
β€” Switch bilan if va ? larni taqqoslash.

11 - dars | while | do while loop

β€” while
β€” do while

12 - dars | functions

β€” Function decloration
β€” Function Expression
β€” Arrow Function
β€” Shadowed variable
β€” Default parameter
β€” Functions with return

13- dars | Basic Object
β€” Logika nega kerak?
β€” Objects
β€” Dynamic access to keys

14 - dars | Advanced Object
β€” Copying vs Referencing
β€” Object assign
β€” structeredClone

15-dars | Advanced Object
β€” Call Stack va Heap qanday malumot saqlaydi?
β€” this method.
β€” Constructor Functions
β€” Symobls as a Key
β€” Object keylarini yozilish usullari

16 - dars | Advanced Object

β€” Renaming variables
β€” Spread operator (...)
β€” Updating Objects

17 - dars | Numbers
β€” Number representation
β€” Number constructor
β€” Parsing numbers
β€” Integer and Faloat numbers.
β€” Decimal number.
β€” Binary numbers.
β€” Hex numbers.

18 - 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

19 - dars | Optional Chaining.

β€” Optional Chaning nima?
β€” Projectni to'g'ri ishlashi uchun muhim lifehack.

20 - dars | String
β€” Quots
β€” Special characters
β€” Accessing chars
β€” Loop
β€” Comparision
β€” Methods

21 - dars | Array Basics
β€” array decloration
β€” new Array
β€” basic array methods

22 - dars | Array Advanced
β€” multi dimansional arrays
β€” advanced array methods

23 - dars | Array Advanced
β€” find va findIndex ishlash tezligidagi farqi.
β€” forEach va Map farq
β€” Multi dimansional arrays

24 - dars | Array Advanced
β€” Exercises
β€” Reduce.
β€” flat.
β€” new Set
β€” new Map

25 - dars | Distructure

β€” Array distructure
β€” Object distructure
β€” Parametor distructure
β€” Nested distructure
β€” res

26 - dars | New Date | JSON

β€” new Date methods
β€” JavaScript Object Notation
β€” stringify and paramas
β€” parse

27 - 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

28 - dars | Recursion function

β€” Recursion function nima?
β€” Recursion qanday ishlaydi?
β€” Kompaniya oyliklarini recursion bilan hisoblash
β€” Recursiya bilan oddiy loopning farqlari va ustunligi.
β€” Homeworks

29- dars | Scopes | Closure

β€” Scope nima?
β€” Lexical Environment nima?
β€” Closure nima?
β€” Garbage collection with scopes.

30 - dars | Old var | Global Object
β€” 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

31 - dars | setTimeout | setInterval

β€” sinxron(synchronous) va asinxron(asynchronous) tushunchalar - 1/2
β€” setTimeout qanday ishlaydi?
β€” setInterval qanday ishlaydi?
β€” Garbage collection / clearInterval / clearTimeout

32 - dars | Advanced functions

β€” function call
β€” function apply
β€” function bind

33 - dars | Advanced Objects | setter and getter functions
β€” defineProperty
β€” getOwnPropertyDescriptor
β€” setter and getter with function

34 - dars | prototype | __proto__

β€” proto nima?
β€” prototype nima?
β€” prototype vs proto farqi?

35 - dars | Classes Basics
β€” constructor classes nima?
β€” Global variables in class
β€” getter and setter with classes
β€” Computed named classes

36 - dars | Classes Basics
β€” Inheritance - meros olish
β€” Overriding method
β€” Overriding constructor
β€” Overriding class fields

37 - dars | Classes Advanced
β€” Static functions
β€” Built-in classes
β€” instanceof

38 - dars | Classes Advanced
β€” Mixins

39 - dars | Error handling | Callback

β€” try catch
β€” Callbacks
β€” Callback hell
β€” Built-in Callbacks

40 - dars | Promise

β€” Promise
β€” Throwing errors
β€” Finally
β€” Facebook login example
β€” Promise: .then, .catch, .finally
β€” promise chaining
β€” promise all

41 - dars | Async await

β€” try catch
β€” optional catch
β€” Throwing errors
β€” Finally
β€” async await

42- 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.

43 - dars | Modules

β€” Module nima?
β€” Old organisational way
β€” import va export
β€” direct import
β€” default export va import
β€” export vs default export
β€” changing import name

44 - dars | Curry function
β€” Curry function nima?
β€” Nimaga curry function kerak?
β€” Infinite curry function

45 - dars | Proxy 1

β€” What is proxy?
β€” Target / handeler
β€” set / get

46 - dars | Proxy 2

β€” owenKeys
β€” Reflect
β€” Reference this

47 - dars | DOM kirish.

β€” Document Object Model ga kirish
β€” window haqida tushuncha
β€” JavaScript architecture

48 - dars | Nodes | Elements.

β€” Nodes in detail
β€” Elements in detail
β€” Parent and child

49 - dars | DOM Selectors.

β€” Selectors
β€” Query selectors
β€” DOM content manipulation

50 - dars | Attribute manipulation.

β€” Browser Load
β€” hasAttribute
β€” getAttribute
β€” setAttribute
β€” removeAttribute

51 - dars | Creating element.

β€” createElement
β€” createTextNode
β€” Insertion
β€” before
β€” after
β€” remove
β€” append
β€” prepend
β€” replaceWith

52 - dars | Geometry.

β€” Geometry - offsetParent / offsetLeft
β€” Scroll - scroll / scrollBy / scrollTo
β€” Coordinate - getBoundingClientRect()

53 - dars | Events.

β€” Mouse Events
β€” addEventListener
β€” Params / this
β€” Mini Project

54 - dars | Events 2

β€” addEventListener
β€” Events with class

55 - dars | Events bubbling.

β€” Bubbling qanday muammolarga sabab bo'ladi?
β€” stopPropogation
β€” stopImmediatePropogation

56 - dars | Events Deligation.

β€” Browser default action?
β€” navigation
β€” prevent actions
β€” Project.

57 - dars | Mouse Events in Deep.

β€” onclick
β€” oncontextmenu
β€” onmouseover / mouseout
β€” onmousedown / mouseup
β€” onkeyPress β€” onchange
β€” onmousemove
β€” ondblclick β€” double click
β€” oncopy β€” ctr + c
β€” onpaste β€” str + v

58 - 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

59 - dars | Scroll events and Project

β€” show / hide
β€” events.scrollHeight
β€” element.scrollTop
β€” element.clientHeight
β€” mini project

60 - dars | Range | Select

β€” Range nima?
β€” Keyboard events
β€” Range Properties
β€” Selection Attrabutes
β€” Selection Events
β€” Range vs Select

61 - dars | Event loop

β€” Event loop nima?
β€” Microtask?
β€” Macrotask?

62 - dars | Execution structure

β€” DOMContentLoad
β€” Load / onerror / beforeunload / unload
β€” async va defer

63 - dars | Observer

β€” MutationObserver
β€” childList
β€” subtree
β€” attributes
β€” characterData

64 - dars | Array buffer.

β€” ArrayBuffer nima?
β€” TypedArray?|
β€” Unit8Array?
β€” DataView
β€” TextDecoder
β€” TextEncoder

65 - dars | Blob.

β€” Blob nima?
β€” Blob as URL
β€” Blob to buffer

66 - dars | File reader.

β€” File
β€” FileReader
β€” readAsArrayBuffer
β€” readAsText
β€” readAsDataURL

67 - dars | fetch 1.

β€” Backend bilan ishlash.
β€” Fetch nima va uning terminlari haqida.
β€” Status codes
β€” Methods
β€” fetch with promise.
β€” fetch with async await

68 - dars | fetch 2.

β€” Backend bilan ishlash.
β€” backenddagi malumotni ekranga chiqarish.
β€” Status codes
β€” Malumotni backenddan o'chirib yuborish.

69 - dars | fetch 3 | Advanced.

β€” Fetch Body.
β€” Fetch headers
β€” Methods
β€” Authentication
β€” swagger.

70 - dars | fetch 4 | Expert Project.

β€” Sending Image
β€” Swagger in detail.
β€” Multipart file
β€” Form Data
β€” ReadbleStream
β€” Fetch API's

71 - dars | URL | SearchParams.

β€” new URL
β€” protocol / pathname / host / href / search / hash
β€” SearchParams
β€” URL bo'yicha filter qilish.
β€” URL bo'yicha share qilish.

72 - dars | LocalStorage.

β€” setItem
β€” getItem
β€” removeItem
β€” clear
β€” Object.keys

73 - dars | SessionStorage.

β€” setItem
β€” getItem
β€” removeItem
β€” clear
β€” Object.keys

74 - dars | RegExp - 1 | Basics

β€” Flags
β€” Searching / Replacing / Testing
β€” Character Classes
β€” Inverse classes
β€” Unicode Flag
β€” Anchor
β€” Word boundary

75 - dars | RegExp - 2 | Advanced

β€” Escaping
β€” Sets and Range
β€” Quantifiers
β€” Greedy mode
β€” Lazy mode
β€” Capturing groups
β€” Named groups
β€” Backreference

76 - dars | RegExp - 3 | Expert

β€” Alternation
β€” Lookhead
β€” Lookbehind
β€” Catastrophic backtracking
β€” Sticky flag
β€” Methods of RegExp.