შესვლა

პროგრამირების საფუძვლები › დამწყები › ობიექტები

ობიექტი: თვისებების კრებული

მარტივი⏱ 7 წთ+20 XP👑 Pro#ობიექტები#თვისება#გასაღები

რას ისწავლი

  • რა არის ობიექტი (object) და თვისება (property)
  • როგორ შექმნა ობიექტი და წაიკითხო მისი თვისება
  • როდის ჯობს ობიექტი და როდის მასივი

ერთი საგანი, ბევრი ფაქტი

წარმოიდგინე თამაშის მოთამაშე. მას აქვს სახელი, დონე, ქულა და სტატუსი: ახლა თამაშობს თუ არა. ეს ოთხი ფაქტი ერთ საგანს აღწერს. შეიძლება ოთხი ცალკე ცვლადი შექმნა, მაგრამ მაშინ მეორე მოთამაშისთვის კიდევ ოთხი დაგჭირდება და ადვილად აირევა, რომელი ცვლადი ვის ეკუთვნის.

ობიექტი (object) ერთი საგნის ყველა მონაცემს ერთად ინახავს, თითოეულს თავისი სახელით:

JavaScript
let player = {
  name: "ბიტი",
  level: 3,
  score: 1250,
  isOnline: true
};

console.log(player);   // {"name":"ბიტი","level":3,"score":1250,"isOnline":true}
  1. ობიექტი ფიგურულ ფრჩხილებში { } იწერება.
  2. შიგნით ჩამოთვლილია თვისებები (properties), მძიმით გამოყოფილი.
  3. ყოველი თვისება წყვილია: გასაღები (key), ორწერტილი და მნიშვნელობა (value). name გასაღებია, "ბიტი" მისი მნიშვნელობა.

გასაღებები ჩვეულებრივ ბრჭყალების გარეშე იწერება და ცვლადის სახელის წესებს მიჰყვება: ინგლისური ასოები, camelCase. მნიშვნელობა კი ნებისმიერი შეიძლება იყოს: რიცხვი, ტექსტი, ლოგიკური, მასივი, სხვა ობიექტიც კი.

თვისების წაკითხვა

თვისებას ობიექტის სახელით, წერტილით და გასაღებით წაიკითხავ:

JavaScript
let player = { name: "ბიტი", level: 3, score: 1250, isOnline: true };

console.log(player.name);    // ბიტი
console.log(player.level);   // 3
console.log(`${player.name} არის დონე ${player.level}-ზე`);

player.name იკითხება როგორც „მოთამაშის სახელი“. ამიტომ ობიექტებით დაწერილი კოდი ბუნებრივ ენას ჰგავს და ადვილად იკითხება.

ობიექტი თუ მასივი

ორივე ბევრ მნიშვნელობას ინახავს, მაგრამ სხვადასხვანაირად:

  • მასივში მნიშვნელობას ადგილი აქვს: პირველი, მეორე, მესამე. კარგია ერთგვაროვანი მონაცემების სიისთვის: ქულები, სახელები, შეტყობინებები.
  • ობიექტში მნიშვნელობას სახელი აქვს. კარგია ერთი საგნის სხვადასხვა მახასიათებლისთვის: სახელი, ასაკი, ქალაქი.

შეადარე: ["ბიტი", 3, 1250] ამბობს მხოლოდ „სამი რამე“, და უნდა გახსოვდეს, რომ მეორე დონეა. { name: "ბიტი", level: 3, score: 1250 } კი თვითონ გეუბნება, რა არის რა.

ნამდვილ პროგრამებში ისინი ხშირად ერთად გვხვდება: მასივი, რომლის ყოველი ელემენტი ობიექტია, მაგალითად მოთამაშეების სია. ამას ამ მოდულის მესამე თავში ისწავლი.

ცარიელი ობიექტი

ობიექტი ცარიელიც შეიძლება იყოს: let settings = {};. თვისებებს მერე დაამატებ. ამის შესახებ შემდეგ თავში.

სცადე თავად

გაუშვი, მერე ობიექტს დაამატე თვისება city შენი ქალაქით და დაბეჭდე ის ცალკე ხაზზე.

JavaScript · სცადე თავად

ხშირი შეცდომები

  • = ორწერტილის ნაცვლად. { name = "ბიტი" } შეცდომაა. ობიექტის შიგნით გასაღებსა და მნიშვნელობას ორწერტილი ჰყოფს.
  • წერტილ-მძიმე თვისებებს შორის. თვისებები მძიმით გამოიყოფა, არა წერტილ-მძიმით.
  • არასწორი გასაღები. player.Name და player.name სხვადასხვაა. არარსებული თვისება undefined-ს აბრუნებს, ამიტომ სახელში შეცდომა ადვილად შეუმჩნეველი რჩება.

სავარჯიშო

შექმენი ობიექტი book სამი თვისებით: title (სათაური), author (ავტორი) და pages (გვერდების რაოდენობა). დაბეჭდე მთელი ობიექტი და მერე წინადადება შენი წიგნის მონაცემებით, მაგალითად: „პატარა უფლისწული“ — ანტუან დე სენტ-ეგზიუპერი, 96 გვერდი.

JavaScript · სცადე თავად
💡 მინიშნება

წინადადება შაბლონური სტრიქონით ააწყე: ${book.title}, ${book.author}, ${book.pages}.

✅ ამოხსნის ნახვა
JavaScript
let book = {
  title: "პატარა უფლისწული",
  author: "ანტუან დე სენტ-ეგზიუპერი",
  pages: 96
};

console.log(book);
console.log(`„${book.title}“ — ${book.author}, ${book.pages} გვერდი`);

მინი-ქვიზი

1რა არის level ჩანაწერში { name: "ბიტი", level: 3 }?

2რას დაბეჭდავს? let c = { color: "წითელი", size: 4 }; console.log(c.size);

3რისთვის ჯობს ობიექტი მასივს?

შეჯამება

  • ობიექტი ერთი საგნის მონაცემებს თვისებებად ინახავს: { გასაღები: მნიშვნელობა }.
  • თვისებები მძიმით გამოიყოფა, გასაღები და მნიშვნელობა ორწერტილით.
  • თვისებას წერტილით წაიკითხავ: player.name.
  • მასივი სიისთვის, ობიექტი ერთი საგნის აღწერისთვის.
📝 ჩემი შენიშვნა