Sobes.tech
Middle

პრიმიტიული მონაცემთა ტიპების მეთოდები (მაგალითად, .toString() და სხვა) საიდან მოდიან?

sobes.tech AI

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

JavaScript-ის ძირითადი მონაცემთა ტიპები (სტრინგები, რიცხვები, ბულიან მნიშვნელობები, Symbol, BigInt, null, undefined) სინამდვილეში არ აქვთ მეთოდები. თუმცა, როდესაც ჩვენ ვცდილობთ მეთოდის გამოძახებას პრიმიტიულ მნიშვნელობაზე, JavaScript დროებით მას ირგვლივ ხვევს შესაბამის ობიექტ-შეფუთვაში (String, Number, Boolean, Symbol, BigInt).

მაგალითად, .toString()-ის გამოძახებისას 'hello' სტრინგზე, JavaScript ქმნის დროებით ობიექტს new String('hello'), იძახის ამ ობიექტის toString() მეთოდს და შემდეგ ანადგურებს ამ დროებით ობიექტს. ამ მექანიზმს უწოდებენ autoboxing ან ავტომატური შეფუთვა.

null და undefined მონაცემთა ტიპებს არ აქვთ შესაბამისი ობიექტ-შეფუთვები და შესაბამისად, არ შეუძლიათ მეთოდების არსებობა. მცდელობა, რომ მეთოდი გამოიძახოს null ან undefined-ზე, გამოიწვევს შეცდომას TypeError.