Sobes.tech
Middle

რატომ განიხილება მასივის ფუნქციები JavaScript-ში ობიექტებად?

sobes.tech AI

პასუხი AI-სგან

JavaScript-ში მასივები სპეციალური ობიექტის ტიპია.

მთავარი მიზეზები:

  • Object.prototype-დან მემკვიდრეობა: მასივები მემკვიდრეობს თვისებებს და მეთოდებს ძირითადი პროტოტიპიდან Object.prototype. ეს მათ საშუალებას აძლევს ჰქონდეთ საერთო მეთოდები, როგორიცაა toString(), hasOwnProperty() და სხვა, რომლებიც ტიპიურია ობიექტებისთვის.
  • მახასიათებლები: მასივებს აქვთ მახასიათებლები, როგორც ობიექტებს. ყველაზე გავრცელებული არის length, რომელიც აჩვენებს ელემენტების რაოდენობას. მასივის ელემენტებზე წვდომა ხდება ნომერული გასაღებებით, რაც მსგავსია ობიექტის თვისებებზე წვდომის, მხოლოდ რომ ამ შემთხვევაში გასაღებები არის სტრინგის სახით წარმოდგენილი რიცხვები.
  • მოქმედება: მიუხედავად მათი სპეციალიზაციისა (სწორად მოწყობილი კოლექცია ნომერული ინდექსებით), მასივების ქცევა ბევრ ასპექტში ემთხვევა ჩვეულებრივი ობიექტების ქცევას. მაგალითად, მათზე შეიძლება დაამატოთ ნებისმიერი თვისებები (თუმცა ეს არ არის რეკომენდებული წაკითხულობის შენარჩუნებისთვის).
// მასივი როგორც სპეციალიზებული ობიექტი
let myArray = [1, 2, 3];

// `length` თვისების წვდომა
console.log(myArray.length); // გამოიტანს 3

// ელემენტზე წვდომა ინდექსით ("0" გასაღებით)
console.log(myArray[0]); // გამოიტანს 1

// ნებისმიერი თვისების დამატება (სტანდარტული არა)
myArray.myProperty = "hello";
console.log(myArray.myProperty); // გამოიტანს "hello"

// Object.prototype-დან მემკვიდრეობით მიღებული თვისების არსებობის შემოწმება
console.log(myArray.hasOwnProperty('length')); // გამოიტანს true