Sobes.tech
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-ի համար թվային տվյալների ընթերցման և գրելու համար, թույլ տալով վերահսկել շեղումները և բայթերի կարգը։