ამჯერად ყურადღება მინდა შევაჩერო ლიტერალებზე… კერძოდ ობიექტის(object) და მასივის(array) ლიტერალებზე. ისინი წარმოადგენენ პროგრამირების ენის მარტივ, სასარგებლო შესაძლებლობებს და ხშირად გამოიყენებიან პრაქტიკაში.
თანამედროვე JavaScript – ის კოდებში არცთუ იშვიათად ვაწყდებით მსგავს კოდს:
1 2 3 4 5 6 7 8 | var x = []; //array literal var y = {}; //object literal /** *@param Array *@param Object */ callSomeFunction(['one', 'two'], {paramOne: "one", paramTwo: "two"}); |
სავსებით ჩვეულებრივი კოდია, თუმცა ნამდვილად ღირს ამ კოდის უფრო დეტალური განხილვა.
1 2 3 4 5 6 7 | //შემდეგი ორი სტრიქონი აბსოლუტურად ექვივალენტურია var x = []; var x = new Array(); //ასევე ექვივალენტურია შემდეგი ორი სტრიქონიც var y = {}; var y = new Object(); |
მაგალითიდან ნათლად ჩანს თუ ყველაზე მარტივად როგორ შეიძლება გამოვიყენოთ ეს ლიტერალები. მაგრამ არის მთელი რიგი პრაქტიკული შემთხვევები როდესაც ლიტერალების გამოყენებას აშკარა უპირატესობა გააჩნია.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | //მასივის ინიციალიზაცია და მნიშვნელობებით შევსება ლიტერალის მეშვეობით var x = ['one', 'two', 'three']; //მასივის გამოყენება ტრადიციული გზით var x = new Array(); x.push('one'); x.push('two'); x.push('trhee'); /*მეთოდის გამოძახება და პარამეტრის გადაცემა ამ შემთხვევაში ლიტერალის უპირატესობა აშკარაა ტრადიციული გზით მასივის შექმნა დინამიურად და პარამეტრად გადაცემა შეუძლებელია, მაგალითად PHP-ში დასაშვებია მსგავსი რამ: callMethod(array('one', 'two', 'three')); */ callMethod(['one', 'two', 'three']); //ობიექტის ინიციალიზაცია და წევრების განსაზღვრა ლიტერალის მეშვეობით var y = { variable: "test variable", method: function() { alert("this is test method"); } }; /*ობიექტის ინიციალიზაცია და წევრების განსაზღვრა ტრადიციული მეთოდით. ამ შემთხვევაში ერთი ძალიან საგულისხმო მომენტს უნდა მივაქციოთ ყურადღება, პირველი შემთხვევისგან განსხვავებით თუ ობიექტისათვის სახელის გადარქმევა გახდება საჭირო, ნაცვლად ერთ ადგილას სახელის შეცვლისა ობიექტის სახელი უნდა შეიცვალოს ყველგან, სადაც კი მისთვის რომელიმე ახალი წევრის განსაზღვრა ხდება*/ var y = new Object(); y.variable = "test variable"; y.method = function() { alert("this is test method"); } /*თუმცა როდესაც ობიექტის პარამედრად გადაცემაა საჭირო ტრადიციული მეთოდი ხშირად გამოუსადეგარია რადგან ყოველი საჭირო შემთხვევისათვის ობიექტის მსგავსი ხერხით შექმნა მოუხერხებელია. ერთი შეხედვით მსგავსი დინამიური ობიექტის გადაცემა არასწორია, თუმცა event-ებთან(და არა მარტო) მუშაობისას ძალიან მოსახერხებელი და უმეტეს შემთხვევაში ბევრად უფრო მიღებული და გამართლებული გზაა */ callMethod({variable: "test variable", method: function() { alert("this is test method"); } }); |
მოყვანილი მარტივი მაგალითებიდან ნათელია თუ რა შემთხვევებშია ლიტერალების გამოყენება სასარგებლო.
ტეგები: JavaScript
შეცდომაა: “ჩემის აზრის ეს არის ენის ძალიან მარტივი მაგრამ სასარგებლო შესაძლებლობა რომელიც პრაქტიკაზე ძალიან ხშირად გამოიყენება.
სწორია: “ისინი წარმოადგენენ პროგრამირების ენის მარტივ, სასარგებლო შესაძლებლობებს და ხშირად გამოიყენებიან პრაქტიკაში.”
შეცდომები:
1) პრაქტიკაზე
2) ერთ წინადადებაში ორჯერაა გამოყენებული სიტყვა “ძალიან”
3) მრავლობითი და მხოლობითი ფორმები არეულია.
4) წინადადება სტილისტურად გაუმართავია
5) აკრეფის შეცდომა: “ჩემის აზრის”
დიდი მადლობა იკა
შევიტანე შესწორება ტექსტში.