September 27, 2023

JavaScript

1)number methods

Js жуда коп number methods бор булар : toFixed()

const number = 123.456789;
const fixedNumber = number.toFixed(2); // "123.46"

toString() sctring килип беради , parseInt() "42" -> 42 number тип айлантирип беради, parseFloat() "3.14" -> float number тип айлнтирип беради, isNaN() number типка текширип беради isNaN(NaN); // true isNaN("Hello"); // true isNaN(42); // false

2)taqqoslash operatorlari ?

<=, >=, ==, ===, !=, !==

3)o’zlashtirish operatorlari ?

let a = 10;
let b = 5;
a+=b;  // 15
b = a - b; // 10
a -= b; // 5

4) Math object ?

Math object ? бу глобал объект болип кисопланади уларда жуда коп методлар бор булар: Math.PI, Math.abs(x), Math.round(x), Math.floor(x), Math.ceil(x), Math.pow(x, y), Math.sqrt(x), Math.abs(), Math,min max, Math.random()

5) callstack ?

Callstack та primitive data type турдаги маълумотлар сакланади булар number, string, bool, null, undefine, symbol, bigInt

6)heap

Heap дегани бу storage js та код йозилган пайтида non primitive data type даги маълумотлар heap та сакланади булар array, object, function

7)Object methods ?

const person = {
  firstName: "John",
  lastName: "Doe",
  fullName: function() {
    return this.firstName + " " + this.lastName;
  },
};
console.log(person.fullName()); // Output: "John Doe"
ECMA 6 дан кейин киска код йо
const car = {
  make: "Toyota",
  model: "Camry",
  start() {
    console.log(`Starting the ${this.make} ${this.model}`);
  },
};
car.start(); // Output: "Starting the Toyota Camry"

Объектта жуда коп методлар бор мисол учун: Object.key(),Object.value(),Object.entries(),Object.fromEntries(),Object.assign(),Object.create().

8)function types in js ?

Фукнция асосан элок килиш турлари булар : function declaration => function showName(name){return name;}, function expression => let name = function(name){ return name;}, arrow function => let name = (a, b) => a + b;

9)higher order function qanday e’lon qilinadi ?

Бу функция озининг аргументида функция кайтариши мумкун йоки янги функция яратип янги функция кайтариши мумкун масалан:

function higherOrderFunction(callback) { 
  const result = callback(10);
  return result; 
} 
function double(x) { 
  return x * 2; 
} 
const doubledValue = higherOrderFunction(double); 
console.log(doubledValue); /// 20

Бу фукнцияда аргументида функция кайтарди

function createMultiplier(factor) { 
   return function (x) { 
        return x * factor; 
   }; 
} 
const double = createMultiplier(2); 

console.log(double(5)); // Output: 10
Бу функцияда янги функция кайтарди

10) currying and generator function ?

11)Advanced Array methods ?

  • foreach() - бу метод бир марта callback function хамма элемент учун лекин return ишламайди:
 let arr = [1,2,3,4,5]
 let res = arr.forEach((elem) => console.log(elem)) //// 1, 2, 3, 4, 5
  • map() - бу метод янги array кайтаради callback function ичида ва if condition тогри ишламайди:
let arr = [1,2,3,4,5]
let res = arr.map((elem, i) => {   
    return elem;
})
console.log(res) //// [1, 2, 3, 4, 5]
let arr = [1,2,3,4,5]
let res = arr.map((elem, i) => {    
    if(elem % 2 === 0)  return elem;
})
console.log(res) //// [ undefined, 2, undefined, 4, undefined ]
//// if condition ишламади
  • filter() - бу метод array да филтил килиб беради condition ишлайди ва янги array кайтаради:
let arr = [1,2,3,4,5]
let res = arr.filter((elem, i) => {    
    return elem % 2 === 0;
})
console.log(res)  //// [ 2, 4 ]
  • reduce() - бу метод array да элементларни хисоблап беради ва озида хисоблагиш болади:
let arr = [1,2,3,4,5]
let res = arr.reduce((a, b) => {    
return a + b; 
},0)
console.log(res)  //// 15
  • sort() - бу метод array ни сортлап беради:
let arr = [11,2,23,1,3]
let res = arr.sort((a, b) => a - b)
console.log(res)  //// [ 1, 2, 3, 11, 23 ]
  • flat()- бу метод коп олчамли array бир олчамли array килиб беради Infinity хусусиятини йозсак:
let arr = [1, 34, 5, [23, 3, [4 , 5, [23, 10]]]]
let res = arr.flat(Infinity)
console.log(res)  //// [ 1, 34, 5, 23, 3, 4, 5, 23, 10]

12) Execution context ?

Execution context - бу js кандайда бир мухит унда js codeлари ишлайди, execution context озида global execution context ва function execution context болади. Global execution context та variables йоки functions болади , уларни дастурда хоклаган жойдан чакириб ишлатса болади. Function execution context бу хар сафар function чакирганда озида янги context очади, у жойди озининг local variables болади. Function execution context ичида creation phase ва execution phase болади улар дастурнинг бошлангич ва тугаганнан кейин керак.

13)Lexecial env?

14) Set , Map ?

Set ва Map - бу озида collection элементларни саклайди. Set бу элементларни unique килиб беради, унинг методлари бор: add(), delete(), has(),clear()

const letters = new Set([1, 1, 2, 3]);
console.log(letters) /// 1, 2, 3

Map бу object окшаган болип key ва value болади, лекин унда unique key болади, узининг методлари бор: delete(), has(), set(), clear()

15) Ternary vs nullish colasing , optional chaining?

Ternary operator бу (? :). Nullish colasing бу logical operator null йоки undefined текширади :

const userName = null; 
const displayName = userName ?? 'Guest';

Optional chaining бу объектларда ишлатилади null йоки undefined олдини олиш учун

16) Filter vs map

Filter ва map higher order function киради. Filter бу янги array кайтаради , янги array ичида conditionнан true кайтарган элементлар болади.

const numbers = [1, 2, 3, 4, 5, 6]; 
const evenNumbers = numbers.filter(x => x % 2 === 0);/// [2, 4, 6]

Map хам янги array кайтаради лекин унда дастлапки ва янги array length бир кил болади, condtion тогри ишламайди undefined болсада array ичига кошип койади.

const numbers = [1, 2, 3, 4, 5]; 
const squaredNumbers = numbers.map(x => x ** 2); //// [1, 4, 9, 16, 25]

17) for of vs for in ?

for of бу arra учун ишлатилади , for in бу object учун ишлатилади

18) Loops

for, while, do while

19) conditioanl operators

Js conditioanl operators булар if else , ternary operator (? :)

20) closure

21)hoisting ?

Hoisting - бу variables йоки function ози элон килинган жойидан тепасидан чакирса бу hoisting дейди. Js var ва function declaration hoisting ишлайди , let ва const озгарувчилари template dead zone тушип колади:

console.log(myVar); // undefined 
var myVar = 42; 
console.log(myVar); // 42

sayHello(); // "Hello, world!" 
function sayHello() { 
console.log("Hello, world!"); 
}

console.log(myVar); // ReferenceError
let myVar = 42;

22) “use strict” , this keyword ?

use strict бу кучли режим дегани у тепада элон килинади чунки олдинги версия кодларни очириш учун. this keyword бу special keyword хисопланади бу каерда элон килинса узининг parent элементига мурожат килади, масалан: у global scope та болса элон килинса window га тен болади, фукнция да хам window тен, объект ичида объекта тен болади.

23)Promise ?

Promise - бу асинхрон турдаги операциялар билан ишлаш учун керак, унда учта холат болади, булар : pending, fulfilled, rejected. Pending даслапки холати(loading) , fulfilled бу success холати (маълумот бор дегани), rejected бу error холати. Promise then билан маълумот кабул килинади ва catch йордамида error ушлап колинади.

24)Promise methods?

Promise методлари булар: Promise.all(), Promise.any(), Promise.race(), Promise.finally()

Promise.all() бу метод бир нечта promise кайтаради, агар биттаси reject болса reject кайтаради , promise.all array формада аргумент олади Promise.all([promise1, promise2, promise3])

Promise.any() бу метод promise.all() array турида маълумот аргумент кисобида олинади Promise.any([promise1, promise2, promise3]), лекин бу методта битта promise fullfilled холати болсада ишлай беради

Promise.race() бу метод да олдинги методларга укшаб озида array олади Promise.race([promise1, promise2, promise3]), лекин бу метод да кайси бири тез ишласа уша promise келади.

Promise.finally() бу метод then ва catch окшаган, лекин метод promise fulfilled йоки rejected болсада ишлайберади. Бу метод асосан хандайда бир харакат килинган кейин хотирадан маълумот очириш учун йоки бошка вазифаларни ишлаш учун якши.

25)J S O N ?

JSON - бу JavaScript Object Notation. бу string коринишида маълумот саклайди озида чунки объем кам болади озида key ва value саклайди,JSON.stringify(person) бу json форматка айлантиради, JSON.parse(jsonString) бу обратно объектка айлантиради

26) template literal ?

Template literal - бу backtick йозилади (`) бунинг ичига static маълумот билан dinamic маълумот йозса болади

27) SYNC , ASYNC

SYNC - бу синхрон function бу хамма функция изба из ишлайди:

console.log("Начало выполнения"); 
const result1 = doSomethingSync(); // Блокирующая операция 
console.log("Результат:", result1); 
console.log("Завершение выполнения");

ASYNC - бу асинхрон function бунда функция параллель ишлаши мумкун йоки бошка функция блокламайди ишлашига койип беради.

28) D O M

DOM - бу Document Object Model бу дарахтсимон объект болип озига HTML теги, атрибути, тексти оз ичига олади. DOM оркали web page элементларига доступ олса болади, бунда озида методлари бор булар : querySelector, getElementById,querySelectorAll

29) Selectors

Selectors - бу DOM да хар канака элементдар билан ишлаш учун ишлатилади булар: querySelector, querySelectorAll, getElementById, getElementsByTagName("div"), getElementsByClassName("myClass")

30) Dynamic elements

Dynamic elements - бу DOM да динамик элемент кошиш, очириш йоки value олиш учун ишлатилади : document.createElement("div"), document.getElementById("myParagraph"), document.body.appendChild(newDiv),removeChild(elementToRemove)

31) ClassList , NodeList , HtmlCollection

ClassList - бу class attribute билан ишлаш учун, унда озида методлари бор будлар: add(), remove(), toggle(), contains()

NodeList - бу домдаги (DOM) collection болип кисопланади, агар бизлар querySelectorAll() килсак , у биларга nodelist кайтаради ва array data type болади, кейин у билан хоклаган array методлари ишлатса болади

HtmlCollection - бу хам nodelist окшайди лекин, getElementsByTagName() йоки getElementsByClassName() шу методлар htmlcollection кайтаради

32) Attribute binding

33) document vs window

Window - бу global object кисопланади, унда озида хар кийли методлар бор setTimeout(), setInterval(), console.log().

Document - бу window ичидаги бир object кисполанади , html elements value йоки DOM методларин ишлатса болади: getElementById(), querySelector()

34) events

Js та жуда коп events бор булар асосан mouse events(click, mouseover, mouseout, mousemove), keyboard events(keydown, keyup, keypress), form events(submit, cahnge, input), document events(load, scroll, DOMContentLoaded) болинади. Бу events ишлатиш учун addEventListener() фойдаланилади:

button.addEventListener('click', () => { 
 console.log('Button clicked!');
});

35) Event object

Event objects булар : event.type, event.target, event.currentTarget, event.preventDefault(), event.key().....

36) Browser storages

Browser storages: localStorage, sessionStorage, cookie

37) Data set attribute

38) OOP

39) Object elon qilish turlari

Object элон килиш бир нечта тури бор js : literal notation :

const person = { firstName: "John", lastName: "Doe", age: 30, };

constructor function:

function Person(firstName, lastName, age) { 
this.firstName = firstName; 
this.lastName = lastName; 
this.age = age; } 
const person = new Person("John", "Doe", 30);

object.create method:

const personPrototype = { 
greet: function() {
 console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); 
 } 
 }; 
 const person = Object.create(personPrototype); 
 person.firstName = "John"; 
 person.lastName = "Doe"; 
 person.age = 30;

Class:

class Person { constructor(firstName, lastName, age) {
this.firstName = firstName; 
this.lastName = lastName; 
this.age = age; } 
greet() { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); } 
} 
const person = new Person("John", "Doe", 30);

40) Flat method

Flat method - бу higher order array методига киради, бу метод билан multiple болип турган array бир катор array олип келса болади ва янги array return килади масалан:

const nestedArray = [1, 2, [3, 4, [5, 6]]]; 
const completelyFlatArray = nestedArray.flat(Infinity); 
console.log(completelyFlatArray); // Output: [1, 2, 3, 4, 5, 6]

41) Virtual DOM vs real DOM

42) Js modules

Js modules - булар commonjs ва es modules.

Commonjs бу ески усили болип кисопланади import килиш учун require:

const module = require('./myModule');

Es modules - бу янги метод кисопланади import object турда default килип берса болади:

<script type="module" src="main.js"></script>

import { name, sayHello } from './module.js';
import default name from "./modules.js";
export name;