Junior
რა მონაცემთა სტრუქტურები არსებობს JavaScript-ში?
sobes.tech AI
პასუხი AI-სგან
სადაც მარტივი მონაცემთა ტიპები: String (სტრიქონები), Number (ციფრები), BigInt (დიდი მთელი რიცხვები), Boolean (ლოგიკური ტიპი), Undefined (არასახელებული მნიშვნელობა), Symbol (სიმბოლები), Null (ცარიელი მნიშვნელობა).
მრავალმხრივი მონაცემთა სტრუქტურები:
- Object (ობიექტი): გასაღები-მნიშვნელობის წყვილების კოლექცია.
// მარტივი ობიექტი const user = { name: 'ივანი', age: 30 }; - Array (სია): ელემენტების მოწესრიგებული კოლექცია.
// რიცხვების სია const numbers = [1, 2, 3, 4, 5]; - Map (რუკა): გასაღები-მნიშვნელობის წყვილების კოლექცია, სადაც გასაღებები შეიძლება იყოს ნებისმიერი ტიპის მონაცემი და ინახავს შეტანის წესს.
// სხვადასხვა ტიპის გასაღებები const map = new Map(); map.set('name', 'პეტრე'); map.set(1, 'რიცხვი'); - Set (საგროვი): უნიკალური მნიშვნელობების კოლექცია ნებისმიერი ტიპის.
// უნიკალური რიცხვების კოლექცია const set = new Set([1, 2, 2, 3, 4, 4]); // შეიცავს [1, 2, 3, 4] - Typed Arrays (ტიპიზირებული მასივები): განსაზღვრული სიგრძის მასივები, რომელთა ელემენტები აქვთ განსაზღვრული რიცხვითი ტიპი (მაგალითად,
Int8Array,Uint8Array,Float32Array).// ბაიტების ტიპიზირებული მასივი const byteArray = new Uint8Array([10, 20, 30]); - WeakMap (სუსტი რუკა): მსგავსია
Map, მაგრამ მისი გასაღებები უნდა იყოს ობიექტები, და ისინი არ აფერხებენ გროვის მეხსიერების განთავისუფლებას.// სუსტი რუკა const weakMap = new WeakMap(); const obj1 = {}; weakMap.set(obj1, 'მონაცემები 1'); - WeakSet (სუსტი საგროვი): მსგავსია
Set, მაგრამ მისი ელემენტები უნდა იყოს ობიექტები, და ისინი არ აფერხებენ გროვის მეხსიერების განთავისუფლებას.// სუსტი საგროვი const weakSet = new WeakSet(); const obj2 = {}; weakSet.add(obj2);
ასევე არსებობს სტრუქტურები, რომლებიც გამოიყენება დაბალ დონეზე API-ებში ან წარმოადგენს სპეციალურ ობიექტებს:
ArrayBuffer: წარმოადგენს უნივერსალურ, განსაზღვრული სიგრძის ბინარული ბუფერს.DataView: უზრუნველყოფს დაბალ დონეზე ინტერფეისსArrayBuffer-ში რიცხვითი მონაცემების წაკითხვასა და ჩაწერაში, საშუალებას აძლევს კონტროლს გადახრილობებისა და ბაიტების წესების.