JavaScript სრული პროფესიონალური კურსი

JavaScript რა არის?

JavaScript (JS) არის ვებპროგრამირების ენა, რომელიც ქმნის ინტერაქტიულობას ვებგვერდზე. გამოიყენება HTML-ისა და CSS-ისთან ერთად.

Variables (ცვლადები)

ცვლადები ინახავენ მონაცემებს. არსებობს `var`, `let` და `const`.
let name = "John";
const pi = 3.14;
var age = 25;
      

Data Types (მონაცემების ტიპები)

ძირითადი ტიპები:
  • Number – რიცხვები: 1, 2, 3
  • String – ტექსტი: "Hello"
  • Boolean – true / false
  • Array – მასივები: [1,2,3]
  • Object – ობიექტები: {name:"John", age:25}
  • Null / Undefined

Operators & Expressions

ოპერატორები გამოიყენება მონაცემების დამუშავებისთვის.
let sum = 5 + 3;    // ჯამი
let isAdult = age >= 18; // შედარება
let text = "Hello " + "World"; // სტრინგების გაერთიანება
      

Functions (ფუნქციები)

ფუნქციები აღწერენ ოპერაციებს, რომლებსაც მოგვიანებით გამოვიყენებთ.
// ჩვეულებრივი ფუნქცია
function greet(name){
  return "Hello " + name;
}

// Arrow ფუნქცია
const add = (a,b) => a + b;

console.log(greet("John"));
console.log(add(2,3));
      

Conditionals (შეამოწმე პირობები)

პირობითი ოპერაციები – if, else, switch
if(age >= 18){
  console.log("Adult");
} else {
  console.log("Minor");
}

switch(day){
  case "Monday":
    console.log("Start week");
    break;
  default:
    console.log("Other day");
}
      

Loops (ლუპები)

პროგრამის განმეორება:
for(let i=0; i<5; i++){
  console.log(i);
}

let arr = [1,2,3];
arr.forEach(item => console.log(item));
      

DOM Manipulation

JS-ით HTML ელემენტებს შეგვიძლია მოვხელთ.
// ელემენტის არჩევა
const heading = document.getElementById("myHeading");
const cards = document.querySelectorAll(".card");

// ტექსტის შეცვლა
heading.innerText = "ახალი სათაური";

// სტილის შეცვლა
cards[0].style.background = "yellow";

// ახალი ელემენტის შექმნა
const div = document.createElement("div");
div.innerText = "ახალი ელემენტი";
document.body.appendChild(div);
      

Events (მომხდარები)

მოვლენებს ვუსმენთ, რომ JS რეაგირება მოახდინოს.
document.querySelector("button").addEventListener("click", () => {
  alert("ღილაკი დაჭერილია!");
});

document.querySelector("input").addEventListener("input", e => {
  console.log(e.target.value);
});
      

ES6 Features

ახალი ფუნქციები: let/const, arrow, template literals, destructuring.
const name = "John";
const greet = (n) => `Hello ${n}`;
const [a,b] = [1,2]; // destructuring
      

Objects & Arrays

ობიექტებისა და მასივების მეთოდები:
let person = {name:"John", age:30};
console.log(person.name);

let arr = [1,2,3];
arr.push(4); // ახალი ელემენტის დამატება
arr.pop();   // ბოლო ელემენტის წაშლა
arr.map(x => x*2);
      

Asynchronous JS

Asynchronous ოპერაციები:
// setTimeout
setTimeout(() => console.log("გამოძახება 1 წამის შემდეგ"), 1000);

// fetch
fetch("https://api.example.com/data")
  .then(response => response.json())
  .then(data => console.log(data));
      

ფინალური: როგორ შევქმნეთ JS კურსი

სტრუქტურა

ყველა explanation ჩასმულია `
`-ში. Grid layout უზრუნველყოფს ჭადრაკულ განლაგებას.

JavaScript კოდი

თითოეული `

` დაკლიკებით იხსნის შესაბამის explanation:
document.querySelectorAll('.card h2').forEach(header => {
  header.addEventListener('click', () => {
    const def = header.nextElementSibling;
    document.querySelectorAll('.definition').forEach(d => { if(d!==def) d.style.display='none'; });
    def.style.display = def.style.display==='block'?'none':'block';
  });
});
      

მომხმარებლის გამოცდილება

- explanation-ები ჩადებულია კარტებში
- დაკლიკებით იხსნება/ იხურება
- Grid იძლევა მაქსიმალურ ხედვას, მინიმალურ სქროლს