პროგრამირების საფუძვლები › დამწყები › ცვლადები და მონაცემები
მუდმივები და კარგი სახელები
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- რა არის მუდმივა (constant) და რით განსხვავდება
constსიტყვისგანlet - რა წესებს უნდა აკმაყოფილებდეს ცვლადის სახელი
- როგორ აირჩიო სახელი, რომელსაც ერთი თვის შემდეგაც გაიგებ
მნიშვნელობა, რომელიც არ იცვლება
ზოგი რამ პროგრამის მუშაობისას იცვლება: ქულა, დარჩენილი სიცოცხლეები, კალათის ჯამი. ზოგი კი არასდროს: კვირაში დღეების რაოდენობა, თამაშის სახელი, მაქსიმალური ქულა.
ასეთი მნიშვნელობისთვის let-ის ნაცვლად იყენებ სიტყვას const. ის ქმნის მუდმივას (constant): ყუთს, რომელიც მნიშვნელობის ჩადების შემდეგ ილუქება.
const DAYS_IN_WEEK = 7;
const gameTitle = "კოსმოსური რბოლა";
console.log(gameTitle, "გრძელდება", DAYS_IN_WEEK, "დღე");constქმნის მუდმივას და მაშინვე ანიჭებს მნიშვნელობას.- შემდეგ მას ჩვეულებრივი ცვლადივით იყენებ: სახელს წერ და კომპიუტერი მნიშვნელობას სვამს.
რა ხდება, თუ მუდმივას შეცვლი
const maxScore = 100;
maxScore = 200;მეორე ხაზზე პროგრამა ჩერდება და გიჩვენებს: TypeError: Assignment to constant variable., ანუ „მუდმივას მინიჭება არ შეიძლება“. ეს შეცდომა სასარგებლოა: კომპიუტერი გიცავს იმისგან, რომ შემთხვევით შეცვალო ის, რაც არ უნდა შეიცვალოს.
მარტივი წესი: ყოველთვის დაიწყე const-ით. let გამოიყენე მხოლოდ მაშინ, როცა იცი, რომ მნიშვნელობა შეიცვლება. ასე კოდის მკითხველი ერთი შეხედვით ხვდება, რა იცვლება პროგრამაში და რა არა.
სახელის წესები
ცვლადისა და მუდმივას სახელს კომპიუტერი რამდენიმე წესს უყენებს:
- სახელი შედგება ასოების, ციფრების და ქვედა ტირისგან
_. ინტერვალი და ტირე-არ შეიძლება. - სახელი ციფრით ვერ დაიწყება:
player1სწორია,1playerარა. - დიდი და პატარა ასო განსხვავდება:
scoreდაScoreორი სხვადასხვა ცვლადია. - ენის საკუთარი სიტყვები დაკავებულია: ცვლადს ვერ დაარქმევ
let,constანtrue.
კარგი სახელი
წესების დაცვა საკმარისი არ არის. x, a1 და data კომპიუტერისთვის მისაღებია, ადამიანისთვის კი არაფერს ამბობს. კარგი სახელი პასუხობს კითხვას: რა ინახება შიგნით?
const p = 3;
const t = 25;
console.log(p * t);
const ticketPrice = 3;
const studentCount = 25;
console.log(ticketPrice * studentCount);- პირველი სამი ხაზი მუშაობს, მაგრამ ვერ მიხვდები, რას ითვლის.
- ბოლო სამი ხაზი იმავეს აკეთებს და თავად ხსნის თავს: ბილეთის ფასი გამრავლებული მოსწავლეების რაოდენობაზე.
რამდენიმე სიტყვისგან შემდგარ სახელს JavaScript-ში ასე წერენ: პირველი სიტყვა პატარა ასოთი, ყოველი შემდეგი დიდით, ინტერვალის გარეშე. ამ სტილს camelCase ჰქვია, რადგან დიდი ასოები აქლემის კუზებს ჰგავს: ticketPrice, studentCount, isGameOver. სახელებს ინგლისურად ვწერთ, რადგან ასეა მიღებული მთელ მსოფლიოში.
მუდმივებს, რომელთა მნიშვნელობა წინასწარ არის ცნობილი და არასდროს იცვლება, ხშირად დიდი ასოებით და ქვედა ტირეებით წერენ: DAYS_IN_WEEK, MAX_SCORE.
სცადე თავად
გაუშვი და ნახე შეცდომა. მერე გაასწორე პროგრამა ისე, რომ იმუშაოს: რომელი სიტყვა უნდა შეცვალო პირველ ხაზში?
ხშირი შეცდომები
constიმაზე, რაც იცვლება. თუ მნიშვნელობას მოგვიანებით ახალს ანიჭებ, გჭირდებაlet.const-ზე მინიჭებაTypeError-ს იძლევა.constმნიშვნელობის გარეშე.const total;შეცდომაა: მუდმივას მნიშვნელობა შექმნისთანავე უნდა მიენიჭოს.- ინტერვალი ან ტირე სახელში.
ticket priceდაticket-priceარ მუშაობს. დაწერეticketPrice. - ასოების რეგისტრის არევა. თუ შექმენი
studentCountდა მერე წერstudentcount, კომპიუტერი მეორეს ვერ იპოვის.
სავარჯიშო
ეს პროგრამა წრის ფართობს ითვლის, მაგრამ სახელები არაფერს ამბობს. გადაწერე ის გასაგები სახელებით: a არის რიცხვი პი (არასდროს იცვლება), b წრის რადიუსი, c კი ფართობი. გამოიყენე const ყველგან, სადაც მნიშვნელობა არ იცვლება.
💡 მინიშნება
პი მუდმივაა, ამიტომ const PI = 3.14;. რადიუსს და ფართობს დაარქვი radius და area.
✅ ამოხსნის ნახვა
const PI = 3.14;
const radius = 5;
const area = PI * radius * radius;
console.log("წრის ფართობი:", area);მინი-ქვიზი
1რა მოხდება, თუ const-ით შექმნილ მუდმივას ახალ მნიშვნელობას მიანიჭებ?
მუდმივას მნიშვნელობა არ იცვლება. მცდელობაზე მიიღებ TypeError-ს.
2რომელია სწორი სახელი ცვლადისთვის?
სახელი ციფრით ვერ დაიწყება და ტირეს ვერ შეიცავს. secondPlayer camelCase სტილითაა დაწერილი.
3რომელი სახელი უკეთ აღწერს მოსწავლეების რაოდენობას?
კარგი სახელი ამბობს, რა ინახება შიგნით. x და data1 მკითხველს არაფერს ეუბნება.
შეჯამება
constქმნის მუდმივას: მნიშვნელობას, რომელიც აღარ იცვლება.letგამოიყენე მხოლოდ იმისთვის, რაც იცვლება.- სახელი შედგება ასოების, ციფრების და
_-ისგან, ციფრით არ იწყება და რეგისტრს განასხვავებს. - კარგი სახელი ამბობს, რა ინახება შიგნით:
ticketPrice, არაp. - რამდენიმე სიტყვა camelCase სტილით იწერება.