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