0.1. Kerakli JavaScript (ES6+)
Quyidagilarni erkin ishlata olishingiz kerak. Agar bittasi notanish bo'lsa, avval shuni o'rganing.
let va const (var emas)
const PI = 3.14; // qiymati o'zgarmaydi
let count = 0; // qiymati o'zgaradi
count = count + 1;
Arrow functions
// Oddiy funksiya
function add(a, b) {
return a + b;
}
// Arrow ko'rinishi
const add = (a, b) => a + b;
// React'da doimo shunaqa ko'rasiz:
const greet = (name) => `Salom, ${name}!`;
Destructuring (eng ko'p ishlatiladi)
const user = { name: "Ali", age: 25 };
const { name, age } = user; // user.name, user.age o'rniga
const colors = ["qizil", "yashil"];
const [first, second] = colors;
Spread / Rest
const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4] — nusxa olish
const obj1 = { a: 1 };
const obj2 = { ...obj1, b: 2 }; // { a: 1, b: 2 }
Muhim: React'da state'ni hech qachon to'g'ridan-to'g'ri o'zgartirmaymiz, balki spread bilan yangi nusxa yasaymiz. Bu pattern'ni hozir o'zlashtiring.
Array metodlari: map, filter, reduce
const nums = [1, 2, 3, 4];
const doubled = nums.map(n => n * 2); // [2, 4, 6, 8]
const evens = nums.filter(n => n % 2 === 0); // [2, 4]
const sum = nums.reduce((acc, n) => acc + n, 0); // 10
map— React'da ro'yxat chizishning asosi. Yoddan biling.
Ternary va &&¶
const status = isLoggedIn ? "Kirgan" : "Mehmon";
const greeting = isLoggedIn && "Xush kelibsiz!";
Modules (import / export)¶
// math.js
export const add = (a, b) => a + b;
export default function multiply(a, b) { return a * b; }
// app.js
import multiply, { add } from "./math.js";
Promise / async-await
async function getUser() {
const res = await fetch("https://api.example.com/user");
const data = await res.json();
return data;
}
No comments to display
No comments to display