JavaScript
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
3)o’zlashtirish operatorlari ?
let a = 10;
let b = 5;
a+=b; // 15
b = a - b; // 10
a -= b; // 5
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()
Callstack та primitive data type турдаги маълумотлар сакланади булар number, string, bool, null, undefine, symbol, bigInt
Heap дегани бу storage js та код йозилган пайтида non primitive data type даги маълумотлар heap та сакланади булар array, object, function
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().
Фукнция асосан элок килиш турлари булар : 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 Бу функцияда янги функция кайтарди
let arr = [1,2,3,4,5] let res = arr.forEach((elem) => console.log(elem)) //// 1, 2, 3, 4, 5
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 ишламади
let arr = [1,2,3,4,5] let res = arr.filter((elem, i) => { return elem % 2 === 0; }) console.log(res) //// [ 2, 4 ]
let arr = [1,2,3,4,5] let res = arr.reduce((a, b) => { return a + b; },0) console.log(res) //// 15
let arr = [11,2,23,1,3] let res = arr.sort((a, b) => a - b) console.log(res) //// [ 1, 2, 3, 11, 23 ]
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]
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 болади улар дастурнинг бошлангич ва тугаганнан кейин керак.
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 олдини олиш учун
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]
for of бу arra учун ишлатилади , for in бу object учун ишлатилади
Js conditioanl operators булар if else , ternary operator (? :)
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 тен, объект ичида объекта тен болади.
Promise - бу асинхрон турдаги операциялар билан ишлаш учун керак, унда учта холат болади, булар : pending, fulfilled, rejected. Pending даслапки холати(loading) , fulfilled бу success холати (маълумот бор дегани), rejected бу error холати. Promise then билан маълумот кабул килинади ва catch йордамида error ушлап колинади.
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 болсада ишлайберади. Бу метод асосан хандайда бир харакат килинган кейин хотирадан маълумот очириш учун йоки бошка вазифаларни ишлаш учун якши.
JSON - бу JavaScript Object Notation. бу string коринишида маълумот саклайди озида чунки объем кам болади озида key ва value саклайди,JSON.stringify(person) бу json форматка айлантиради, JSON.parse(jsonString) бу обратно объектка айлантиради
Template literal - бу backtick йозилади (`) бунинг ичига static маълумот билан dinamic маълумот йозса болади
SYNC - бу синхрон function бу хамма функция изба из ишлайди:
console.log("Начало выполнения"); const result1 = doSomethingSync(); // Блокирующая операция console.log("Результат:", result1); console.log("Завершение выполнения");
ASYNC - бу асинхрон function бунда функция параллель ишлаши мумкун йоки бошка функция блокламайди ишлашига койип беради.
DOM - бу Document Object Model бу дарахтсимон объект болип озига HTML теги, атрибути, тексти оз ичига олади. DOM оркали web page элементларига доступ олса болади, бунда озида методлари бор булар : querySelector, getElementById,querySelectorAll
Selectors - бу DOM да хар канака элементдар билан ишлаш учун ишлатилади булар: querySelector, querySelectorAll, getElementById, getElementsByTagName("div"), getElementsByClassName("myClass")
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 кайтаради
Window - бу global object кисопланади, унда озида хар кийли методлар бор setTimeout(), setInterval(), console.log().
Document - бу window ичидаги бир object кисполанади , html elements value йоки DOM методларин ишлатса болади: getElementById(), querySelector()
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!'); });
Event objects булар : event.type, event.target, event.currentTarget, event.preventDefault(), event.key().....
Browser storages: localStorage, sessionStorage, cookie
39) Object elon qilish turlari
Object элон килиш бир нечта тури бор js : literal notation :
const person = { firstName: "John", lastName: "Doe", age: 30, };
function Person(firstName, lastName, age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } const person = new Person("John", "Doe", 30);
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 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);
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]
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;