while គឺជាបញ្ជាតម្រូវឲ្យអនុវត្តក្រុមបញ្ជានៅក្នុងនោះ សារចុះសារឡើងគ្មានឈប់ ដរាបណាកន្សោមប្រមាណវិធីមួយនៅតែផ្តល់លទ្ធផលជា true ឬសមមូលនឹង true ។ ពិនិត្យកម្មវធីខាងក្រោមនេះ៖
let time = 0
//ការប្រើបញ្ញា while
while(time <6){
console.log(`This block of statement is executed for the ${time+1} times`)
time += 1
}
នៅពេលដែលកម្មវិធីខាងលើនេះចាប់ផ្តើមដំណើរការ អថេរឈ្មោះ time គឺជាលេខ ០ ។ ដូចនេះកន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជា true ដែលជាប្រការធ្វើឲ្យក្រុមបញ្ជា នៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្តជាលើកទីមួយ។ កត្កានេះធ្វើឲ្យប្រយោគមួយត្រូវបានសរសេរនៅលើ Chrome browser និងអថេរឈ្មោះ time កើនតម្លៃធំជាងមុនមួយ។ ហើយក្រោយពីក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តបានចប់សព្វគ្រប់ហើយ កន្សោមប្រមាណវិធី time < 6 ត្រូវយកមកគណនាជាថ្មីម្តងទៀត ហើយបើកន្សោមប្រមាណវិធីនោះនៅតែផ្តល់លទ្ធផលជា true ក្រុមបញ្ជានៅក្នុងបញ្ជា while នឹងត្រូវយកទៅអនុវត្តជាថ្មីម្តងទៀត។ ទង្វើរបៀបនេះត្រូវប្រព្រឹត្តទៅជាដដែលៗ រហូតដល់កន្សោមប្រមាណវិធី time < 6 លែងផ្តល់លទ្ធផលជា true ទៀត គឺនៅពេលដែលទិន្នន័យឈ្មោះ time ក្លាយទៅជាលេខ 6 ។ ម៉្យាងទៀត នៅពេលដែលក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តចំនួន 6 លើក អថេរឈ្មោះ time ក្លាយទៅជាលេខ 6 ពីព្រោះរាល់លើកដែលបញ្ជា time += 1 ត្រូវយកទៅអនុវត្ត អថេរឈ្មោះ time ក្លាយទៅជាលេខធំជាងមុនមួយរហូត។ ហើយនៅពេលដែលអថេរឈ្មោះ ដង ក្លាយទៅជាលេខ 6 កន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជា false ដែលជាប្រការធ្វើឲ្យការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបញ្ចប់។
សរុបមក ដើម្បីឲ្យការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while អាចត្រូវបញ្ចប់បាន លុះត្រាណាតែកន្សោមប្រមាណវិធីជាប់នឹងបញ្ជា while លែងផ្តល់លទ្ធផលជា true ឬសមមូលនឹង true នៅពេលណាមួយ។ បើពុំនោះសោតទេ ការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while នឹងត្រូវប្រព្រឹត្តទៅជាប់រហូតគ្មានឈប់។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
let time = 0
//ការប្រើបញ្ញា while
while(time <6){
console.log(`This block of statement is executed for the ${time+1} times`)
//time += 1
}
បើសិនជាយើងដំណើរការកម្មវិធីខាងលើនេះ វានឹងដំណើរការទៅជាប់រហូតគ្មានឈប់។ នៅក្នុងភាសា JavaScript សកម្មភាពដំណើរការជាប់រហូតគ្មានឈប់នេះ ត្រូវហៅថា វដ្តកម្មជានិរន្តន៍ (infinite loop) ដែលជាបញ្ហាមួយតែងតែកើតមានឡើងជាញឹកញយ នៅក្នុងការសរសេរកម្មវិធីកំព្យូទ័រ។
មូលហេតុដែលធ្វើឲ្យកម្មវិធីខាងលើនេះ មានដំណើរការទៅជាប់រហូតគ្មានឈប់ គឺថាគ្រប់ពេលដែលក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្ត អថេរឈ្មោះ time នៅតែរក្សាតម្លៃដដែល។ ដូចនេះកន្សោមប្រមាណវិធី time < 6 នៅតែផ្តល់លទ្ធផលជា true ជានិច្ច។ ប្រការនេះធ្វើឲ្យក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្តសារចុះសារឡើងជារៀងរហូត ព្រោះការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while អាចឈប់ទៅបាន លុះត្រាណាតែកន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជា false នៅពេលណាមួយតែប៉ុណ្ណោះ៕