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