បើ​យើង​លើក​យក​បញ្ហា​ដោះស្រាយ​​រក​ប្រាក់​ចំណេញ​មក​វិភាគ​មើល​ម្តង​ទៀត យើង​ឃើញ​ថា ដើម្បី​រក​ប្រាក់​ចំណេញ យើង​ត្រូវ​មាន​ព័ត៌មាន​ពីរ​គឺ ថ្លៃលក់ និង​ ថ្លៃទិញ ពីព្រោះ​ ប្រាក់​ចំណេញ គឺ​ជា​ផល​ដក​រវាង​ ថ្លៃលក់ និង ថ្លៃទិញ ។ នៅ​ក្នុង​វិស័យ​ព័ត៌មាន​វិទ្យា ព័ត៌មាន​ចាំបាច់​សម្រាប់​យក​មក​ដោះស្រាយ​បញ្ហា​ទាំងនោះ​​ត្រូវ​ហៅ​ថា ទិន្នន័យ (data) ។ ដូចនេះ​ការដោះស្រាយ​បញ្ហា​រក​ប្រាក់​ចំណេញ​កន្លង​មក គឺ​ជា​ការយក​ទិន្នន័យ​ដែល​ជា ថ្លៃលក់ និង​​ទិន្នន័យ​ដែល​ជា​ ថ្លៃទិញ មក​ធ្វើ​ប្រមាណវិធី​ដក​។

 

នៅ​ក្នុង​ការសរសេរ​កម្មវិធី​ជា​ភាសា JavaScript ដើម្បី​ឲ្យ​មាន​ទិន្នន័យ​ចាំបាច់​ទាំងនោះ យើង​ចាំបាច់​ត្រូវ​តែ​​សរសេរ​ចេញ​បញ្ជា តម្រូវ​ឲ្យ​កំព្យូទ័រ​បង្កើត​ទិន្នន័យ​ទាំងនោះ​ទុក​នៅ​ក្នុង​ សតិ (memory) របស់​វា​ផ្ទាល់​តែម្តង​។ ហើយ​ការសរសេរ​កម្មវិធី​បង្កើត​ទិន្នន័យ​ផ្សេង​ៗ​ នៅ​ក្នុង​ភាសា JavaScript គឺ​ត្រូវ​ធ្វើ​ឡើង​ដូច​ខាង​ក្រោម​នេះ​៖

 

1000

 

ខាង​លើ​នេះ គឺ​ជា​កម្មវិធី​ជា​ភាសា JavaScript ​ជា​​អប្បបរិមា ដែល​នៅ​ក្នុង​នោះ​មាន​បញ្ជា​តម្រូវ​ឲ្យ​បង្កើត​ទិន្នន័យ​ ដែល​ជា​លេខ 1000 ទុក​នៅ​ក្នុង​សតិ​របស់​កំព្យូទ័រ​។

 

នៅ​ក្នុង​ភាសា JavaScript ផ្នែក​នៃ​សតិ​របស់​កំព្យូទ័រ ដែល​មាន​ព័ត៌មាន​នៅ​ក្នុង​នោះ ត្រូវ​ហៅ​ថា អថេរ (variable) ។ ដូចនេះ​ការសរសេរ​លេខ 1000 នៅ​ក្នុង​កម្មវិធី​ខាង​លើ គឺ​ជា​ការបង្កើត​អថេរ​មួយ​​ដែល​ជា​ផ្នែក​តូច​មួយ​នៃ​សតិ​របស់​កំព្យូទ័រ​​ដើម្បី​រក្សាទុកនូវ​ទិន្នន័យ​មួយ​ដែល​ជា​លេខ 1000 ។ ជាទូទៅ​ យើង​អាច​ប្រៀប​ប្រដូច​អថេរ​​ទៅ​នឹង​ប្រអប់​មួយ​ដែល​មាន​ទិន្នន័យ​នៅ​ក្នុង​នោះ​។ មួយវិញទៀត ទិន្នន័យ​ដែលត្រូវ​រក្សាទុក​នៅ​ក្នុង​អថេរ ត្រូវ​គេ​អោយ​ឈ្មោះថា​ជា តំលៃ (value) របស់​អថេរ។

 

 

ក៏ប៉ុន្តែ អថេរ​​ដែល​ត្រូវ​បាន​បង្កើត​ឡើង​ដូច​នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ ត្រូវ​បាន​លុប​ចេញ​ទៅ​វិញ​ជា​បន្ទាន់​ពី​ក្នុង​សតិ​របស់​កំព្យូទ័រ គឺ​យើង​មិន​អាច​យក​វា​ទៅ​ប្រើការ​ធ្វើ​អ្វី​ផ្សេង​ទៀត​បាន​ឡើយ​។ ហើយ​ដើម្បី​កុំ​ឲ្យ​អថេរដែល​ត្រូវ​បាន​បង្កើត​រួច​ហើយ​នោះ ត្រូវ​លុប​ចេញ​ទៅ​វិញ យើង​ត្រូវ​ដាក់​ឈ្មោះ​ឲ្យ​វា ដោយ​ត្រូវ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ​៖

 

var sale = 1000;

 

នៅ​លើ​បន្ទាត់​ទី​ 1 ​ការសរសេរ​ថា var sale = 1000; គឺ​ជា​បញ្ជាតម្រូវ​ឲ្យ​បង្កើត​អថេរ​ដែល​មាន​តំលៃ​ជា​លេខ 1000 និង​ដែល​មាន​ឈ្មោះ​ជា​ពាក្យ​ថា sale ។

 

យើង​ក៏​ត្រូវ​ធ្វើ​ការកត់សម្គាល់​ផង​ដែរ​ថា សញ្ញា​ស្មើ (=) នៅ​ក្នុង​ភាសា​ JavaScript គឺ​ជា​សញ្ញា​ប្រើ​សម្រាប់​ ភ្ជាប់ (bind) ឈ្មោះ (identifier) ទៅ​នឹង​អថេរ គឺ​មិនមែន​ជា​សញ្ញា​ប្រើ​សម្រាប់​បញ្ជាក់​លទ្ធផល បាន​មកពី​ការធ្វើ​ប្រមាណ​វិធី​ឡើយ​។

 

ឈ្មោះ​​​របស់​អថេរ​​​អាច​ជា​​ពាក្យ​ជា​ភាសា​ណា​​ក៏​បាន​ដែរ ឲ្យ​តែ​ឈ្មោះ​ទាំងនោះ ត្រូវ​ចាប់​ផ្តើម​ដោយ​តួ​អក្សរ មិនមែន​ជា​លេខ​។ ក៏​ប៉ុន្តែ​យើង​អាច​ប្រើ​សញ្ញា _ ជា​តួ​អក្សរ​ទី​មួយ​បាន​។ ម៉្យាង​ទៀត ឈ្មោះ​របស់​អថេរ​​មិន​ត្រូវ​មាន​អក្សរ​ដក​ឃ្លា (space) នៅ​ក្នុង​នោះ​ឡើយ ហើយ​ឈ្មោះ​ទាំងនោះ​ ត្រូវ​តែ​ខុស​ពី​ ពាក្យ​ពិសេស (keyword) មួយ​ចំនួន ដែល​មាន​នៅ​ក្នុង​ភាសា JavaScript មាន​ដូច​ខាងក្រោម​នេះ

 

arguments break case catch class const continue debugger default delete do else enum eval export extends false finally for function if implements import in instanceof interface let new null package private protected public return static super switch this throw true try typeof var void while with yield

 

ចំពោះ​ឈ្មោះ​របស់​អថេរ​ ដែល​ជា​អក្សរ​ឡាតាំង ឈ្មោះ​ជា​អក្សរ​ធំ​ខុស​ពី​ឈ្មោះ​ជា​អក្សរ​តូច ដូចជា NUMBER, Number, number គឺ​ជា​ឈ្មោះ​ខុស​ៗ​គ្នា​។ ឈ្មោះ​របស់​អថេរ​​​គួរ​តែ​ជា​ពាក្យ​មាន​ន័យ​អ្វី​ម៉្យាង ដែល​ស្តែង​ចេញ​ពី​តួនាទី​របស់​អថេរ​នោះ​។

 

តាម​ការសង្កេត​ជាក់ស្តែង ការភ្ជាប់​ឈ្មោះ​ណា​មួយ​ទៅ​នឹង​អថេរ​​​ណាមួយ ស្រដៀង​នឹង​ការតាង​អញ្ញត​នៅ​ក្នុង​គណិតវិទ្យា​ដែរ​។ មួយវិញទៀត ក្រោយ​ពី​អថេរ​​​មួយ​មាន​ឈ្មោះ​រួច​ហើយ គ្រប់​ការយក​ឈ្មោះ​របស់​អថេរ​​​នោះ​ទៅ​ប្រើ​ នៅ​ពេល​ក្រោយ​ៗ​ទៀត គឺ​ជាការយក​អថេរ​​​នោះ​ទៅ​ប្រើ​​ផ្ទាល់​តែម្តង​។

 

នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ ក្រោយ​ពី​ឈ្មោះ sale ត្រូវ​បាន​ភ្ជាប់​ទៅ​នឹង​អថេរ​​ដែល​មានតំលៃ​​ជា​លេខ 1000 រួច​មក អថេរ​​នោះ​អាច​ស្ថិត​នៅ​ក្នុង​សតិ​របស់​កំព្យូទ័រ រហូត​ដល់​ចប់​កម្មវិធី​។ ក៏ប៉ុន្តែ​ទោះ​ជា​យ៉ាង​ណា​ក៏​ដោយ ក៏​យើង​នៅ​តែ​មិន​អាច​មើល​ឃើញ​តំលៃ​​លេខ 1000 ​របស់​អថេរ​នោះ​ដែរ គឺ​វា​មាន​តែ​នៅ​ក្នុង​សតិ​របស់​កំព្យូទ័រ​តែ​ប៉ុណ្ណោះ​។ ហើយ​បើ​យើង​ចង់​មើល​ឃើញ​តំលៃ​​​លេខ​នោះ យើងត្រូវ​តែ​ធ្វើដូច​ខាងក្រោម​នេះ​៖

 

var sale = 1000;
console.log(sale);

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរ​ថា console.log(sale);​ គឺ​ជាបញ្ជា​តម្រូវ​ឲ្យ​សរសេរ​​បង្ហាញ​តំលៃ​​​លេខ​របស់​អថេរ​ឈ្មោះ sale នៅ​លើ console របស់​ Chrome browser ។

 

យើង​ឃើញ​ថា​ការដាក់​ឈ្មោះ​ឲ្យ​អថេរ គឺ​ជា​ប្រការ​ដែល​ធ្វើ​ឲ្យ​អថេរ​អាច​ស្ថិត​នៅ​ក្នុង​សតិ​របស់​កំព្យូទ័រ រហូត​ដល់​ចប់​កម្មវិធី ហើយ​វា​ក៏​ជា​ប្រការ​ដែល​ធ្វើ​ឲ្យ​យើង​អាច​យក​អថេរ​​​នោះ​ទៅ​ប្រើការ​ធ្វើ​អ្វី​ផ្សេង​ៗ​ទៀត​បាន​​ដែរ​។ ក៏ប៉ុន្តែ លើស​ពី​នេះ​ទៀត ក្រៅ​ពី​ការដាក់​ឈ្មោះ​តែ​មួយ​ ឲ្យ​ទៅ​អថេរ​ណា​មួយ យើង​ក៏​អាច​ដាក់​ឈ្មោះ​ជា​ច្រើន​ឲ្យ​ទៅ​អថេរ​នោះ ដោយ​ធ្វើ​ដូច​ខាងក្រោម​នេះ​៖

 

var sale = 1000;
var total = sale;
console.log(sale);
console.log(total);

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរ​ថា var total = sale; គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​ភ្ជាប់​ឈ្មោះ total មួយទៀត​ទៅ​នឹង​អថេរ​​ដែល​មាន​ឈ្មោះ​ថា sale មួយ​រួច​ទៅ​ហើយ​។ ជា​លទ្ធផល អថេរ​ដែល​មាន​តំលៃ​លេខ 1000 មាន​ឈ្មោះ​រហូត​ដល់​ទៅ​ពីរ គឺ​ឈ្មោះ​​មួយ​ជា​ sale និង​ឈ្មោះ​​មួយ​ទៀត​ជា​ total ។

 

ឈ្មោះ​របស់​​អថេរ​មាន​តួនាទី​សំខាន់​ណាស់ សម្រាប់​សម្គាល់​ទីតាំង​របស់​អថេរ​​​នៅ​ក្នុង​សតិរបស់​កំព្យូទ័រ ហើយ​បើ​គ្មាន​ឈ្មោះ​នោះ​ទេ យើង​នឹង​គ្មាន​មធ្យោបាយ​ណា​មួយ ដែល​អនុញ្ញាត​ឲ្យយើង​អាច​យក​អថេរ​​​ទៅ​ប្រើប្រាស់​នៅ​ទី​កន្លែង​ផ្សេង​ៗ​ទៀត​បាន​ឡើយ​។ ក៏ប៉ុន្តែ​ផ្ទុយ​ទៅវិញ យើង​អាច​ដក​យក​ឈ្មោះ​របស់​អថេរ​ណា​មួយ ទៅ​ភ្ជាប់​នឹង​អថេរ​​ផ្សេង​ទៀត​បាន ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ​៖

 

var sale = 1000;
sale = 2000;
console.log(sale);

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរថា sale = 2000; គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​យក​ឈ្មោះ​ sale ដែល​ជា​ឈ្មោះ​របស់​អថេរ​មាន​តំលៃ​ជា​​​​លេខ 1000 រួច​ទៅ​ហើយ​នោះ ទៅ​ភ្ជាប់​នឹង​អថេរ​ដែល​មានតំលៃ​​​លេខ 2000 វិញ​ម្តង​។ ជា​លទ្ធផល អថេរ​មាន​តំលៃ​​លេខ 1000 ត្រូវ​បាត់​ឈ្មោះ និង​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​កំព្យូទ័រ​ដោយ​ស្វ័យប្រវត្តិ​។ ការលុប​អថេរ​ដោយ​ស្វ័យប្រវត្តិ​តាម​របៀប​នេះ​ ​​គឺ​ជា​ យន្តការ​បោស​សំអាត (garbage collection) ដែល​តែងតែ​កើត​មាន​ឡើង​​ជា​រឿយ​ៗ នៅ​ពេល​ណា​ដែល​អថេរ​​​ទាំងឡាយ​ត្រូវ​បាត់​ឈ្មោះ​។

 

ទន្ទឹម​នឹង​នេះ យើង​ក៏​ត្រូវ​ធ្វើ​ការកត់​សម្គាល់​ផង​ដែរ​ថា អថេរ​​​មួយ​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​កំព្យ័ទ័រ តែ​ក្នុង​ករណី​ណា​ដែល​អថេរ​​នោះ​ត្រូវ​បាត់​ឈ្មោះ​អស់​តែ​ប៉ុណ្ណោះ តែ​បើ​អថេរ​​នោះ​មាន​ឈ្មោះ​លើស​ពី​មួយ ការយក​ឈ្មោះ​ណា​មួយ​ទៅ​ភ្ជាប់​នឹង​អថេរ​​ផ្សេង​ទៀត នឹង​មិន​បណ្តាល​ឲ្យ​អថេរ​នោះ​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​កំព្យូទ័រ​ឡើយ ពីព្រោះ​នៅ​មាន​ឈ្មោះ​ផ្សេង​ៗ​​ទៀត​​​នៅ​ជាប់​នឹង​អថេរ​​នោះ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ​៖

 

var sale = 1000;
var total = sale;
sale = 2000;
console.log(sale);
console.log(total);

 

នៅ​លើ​បន្ទាត់​លេខ 3 ការសរសេរ​ថា sale = 2000; គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​ដក​យក​ឈ្មោះ​ sale ដែល​ជា​ឈ្មោះ​របស់​អថេរ​មាន​​តំលៃ​លេខ​ 1000 រួច​ទៅ​ហើយ​នោះ ទៅ​ភ្ជាប់​នឹង​អថេរ​ដែល​មានតំលៃ​លេខ 2000 វិញ​ម្តង​។ ប្រការ​នេះ​មិន​បាន​ធ្វើ​ឲ្យ​អថេរ​ដែល​មាន​តំលៃ​លេខ​ 1000 ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​កំព្យូទ័រ​ឡើយ ពីព្រោះ​នៅ​មាន​ឈ្មោះ​ total មួយ​ទៀត នៅ​ជាប់​នឹង​អថេរ​​​នោះ​៕