© Khmer Angkor Academy - sophearithput168

អំពី JavaScript

សេចក្តីផ្តើម

JavaScript គឺជាភាសាកម្មវិធីដែលមានឥទ្ធិពលខ្លាំងបំផុតក្នុងពិភពលោកសម្រាប់ការបង្កើតគេហទំព័រ និង applications។ វាអនុញ្ញាតឱ្យយើងបន្ថែមអន្តរកម្ម ចលនា និងមុខងារស្មុគស្មាញទៅក្នុងគេហទំព័ររបស់យើង។

JavaScript ត្រូវបានប្រើដោយ:

  • 95%+ នៃគេហទំព័រទាំងអស់លើពិភពលោក
  • កម្មវិធី mobile applications (React Native, Ionic)
  • Desktop applications (Electron, VS Code, Discord)
  • Server-side programming (Node.js)
  • Game development, IoT, Machine Learning និងច្រើនទៀត

តួនាទីនៃ HTML, CSS និង JavaScript

  • HTML - រចនាសម្ព័ន្ធ (Structure) - ខ្លឹមសាររបស់ទំព័រ
  • CSS - រចនាប័ទ្ម (Style) - រូបរាងនិងពណ៌
  • JavaScript - ឥរិយាបថ (Behavior) - អន្តរកម្មនិងមុខងារ

អាណាស្រមើ: បើ HTML គឺជារូបសំណង់ផ្ទះ CSS គឺជាការលាបពណ៌និងតុបតែង ចំណែក JavaScript គឺជាប្រព័ន្ធអគ្គិសនី ទឹក និងឧបករណ៍ទាំងអស់ដែលធ្វើឱ្យផ្ទះដំណើរការ។

ឧទាហរណ៍ជាក់ស្តែង

ដើម្បីយល់កាន់តែច្បាស់ អ្នកអាចមើលគេហទំព័រដ៏ល្បីៗដូចជា Facebook, YouTube, Google Maps - ទាំងអស់នេះប្រើ JavaScript ដើម្បីបង្កើតបទពិសោធន៍អ្នកប្រើប្រាស់ដ៏អស្ចារ្យ។


JavaScript អាចធ្វើអ្វីបាន?

JavaScript មានសមត្ថភាពក្នុងការធ្វើកិច្ចការជាច្រើន។ តោះមើលឧទាហរណ៍ជាក់ស្តែង៖

១. ផ្លាស់ប្តូរខ្លឹមសារ HTML (DOM Manipulation)

JavaScript អាចផ្លាស់ប្តូរអត្ថបទ រូបភាព ឬធាតុណាមួយក្នុង HTML ដោយស្វ័យប្រវត្តិ។

ឧទាហរណ៍ការប្រើប្រាស់: ការ update ចំនួន "likes" នៅពេលចុចប៊ូតុង, ការបង្ហាញ/លាក់មាតិកា, ការ update ព័ត៌មានក្នុង real-time។

២. ផ្លាស់ប្តូររចនាប័ទ្ម CSS (Style Manipulation)

JavaScript អាចផ្លាស់ប្តូរពណ៌ ទំហំ ទីតាំង និង style ផ្សេងៗបានទាំងអស់។

ឧទាហរណ៍ការប្រើប្រាស់: Dark mode toggle, animation effects, responsive menus, image sliders។

៣. ឆ្លើយតបទៅនឹងព្រឹត្តិការណ៍ (Event Handling)

JavaScript អាចស្តាប់និងឆ្លើយតបទៅនឹងសកម្មភាពរបស់អ្នកប្រើប្រាស់ដូចជា click, hover, scroll, keyboard input។

ឧទាហរណ៍ការប្រើប្រាស់: Form validation, dropdown menus, modal dialogs, drag and drop។

៤. គណនានិងដំណើរការទិន្នន័យ (Data Processing)

JavaScript អាចធ្វើការគណនា ដំណើរការទម្រង់ វិភាគទិន្នន័យ និងគ្រប់គ្រងព័ត៌មានស្មុគស្មាញ។

ឧទាហរណ៍ការប្រើប្រាស់: Shopping cart calculations, form processing, data filtering, search functionality។

៥. ទំនាក់ទំនងជាមួយ Server (AJAX & API)

JavaScript អាចទាក់ទង server ដើម្បីផ្ញើ និងទទួលយកទិន្នន័យដោយមិនចាំបាច់ reload ទំព័រ។

ឧទាហរណ៍ការប្រើប្រាស់: Loading more posts (infinite scroll), real-time chat, weather apps, autocomplete search។

៦. រក្សាទុកទិន្នន័យ (Local Storage)

JavaScript អាចរក្សាទុកព័ត៌មានក្នុង browser របស់អ្នកប្រើប្រាស់។

ឧទាហរណ៍ការប្រើប្រាស់: Remember login, save preferences, shopping cart persistence, offline applications។


ប្រវត្តិ JavaScript

ការកើតជាតិ (1995)

JavaScript ត្រូវបានបង្កើតឡើងដោយ Brendan Eich នៅឆ្នាំ 1995 ក្នុងរយៈពេលត្រឹមតែ 10 ថ្ងៃប៉ុណ្ណោះ! ដើមឡើយវាមានឈ្មោះថា Mocha បន្ទាប់មកប្តូរជា LiveScript ហើយទីបំផុតប្តូរជា JavaScript

អង្គការគ្រប់គ្រង

  • Netscape - ក្រុមហ៊ុនដែលបង្កើត JavaScript ដំបូង
  • Mozilla Foundation - បន្តអភិវឌ្ឍ JavaScript
  • ECMA International - អង្គការដែលកំណត់ស្តង់ដារ ECMAScript

ECMAScript vs JavaScript

ECMAScript គឺជាឈ្មោះផ្លូវការនៃស្តង់ដារ ចំណែក JavaScript គឺជាឈ្មោះពាណិជ្ជកម្មដែលយើងប្រើ។ ភាសាផ្សេងទៀតដូចជា JScript (Microsoft) និង ActionScript (Adobe) ក៏អនុវត្តតាម ECMAScript ដែរ។


កំណែ ECMAScript សំខាន់ៗ

កំណែ ឆ្នាំ លក្ខណៈពិសេសសំខាន់
ES1 1997 កំណែដំបូង
ES2 1998 ការកែលម្អតូចតាច
ES3 1999 Regular Expressions, try/catch
ES4 មិនត្រូវបានចេញផ្សាយ
ES5 2009 "strict mode", JSON support, Array methods
ES5.1 2011 ការកែលម្អ ES5
ES6/ES2015 2015 let/const, arrow functions, classes, modules, promises
ES2016 2016 Array.includes(), exponentiation operator
ES2017 2017 async/await, Object.entries()
ES2018 2018 Rest/Spread, async iteration
ES2019 2019 Array.flat(), Object.fromEntries()
ES2020 2020 BigInt, Optional Chaining, Nullish Coalescing
ES2021-2024 2021-2024 លក្ខណៈពិសេសថ្មីៗបន្តត្រូវបានបន្ថែមជារៀងរាល់ឆ្នាំ

ចំណាំ: ES6/ES2015 ជាការផ្លាស់ប្តូរដ៏ធំបំផុត ហើយភាគច្រើននៃលក្ខណៈពិសេសទំនើបដែលយើងប្រើសព្វថ្ងៃនេះមកពីកំណែនេះ។


JavaScript ទំនើប (Modern JavaScript)

១. ES6+ Features ដែលត្រូវដឹង

  • let & const - ការប្រកាសអថេរទំនើប
  • Arrow Functions - មុខងារខ្លីៗ
  • Template Literals - string ដែលមានអថេរ
  • Destructuring - ការបំបែកវត្ថុនិង arrays
  • Spread/Rest Operators - ... operator
  • Modules - import/export
  • Promises & Async/Await - asynchronous programming
  • Classes - OOP syntax ងាយស្រួល

JavaScript អាចប្រើនៅណា?

១. Front-end Development (Client-side)

រត់នៅក្នុង browser ដើម្បីបង្កើតអន្តរកម្មលើគេហទំព័រ។

  • Vanilla JavaScript
  • React, Vue, Angular - Frameworks/Libraries
  • jQuery - Library ចាស់

២. Back-end Development (Server-side)

រត់នៅលើ server ដោយប្រើ Node.js។

  • Node.js
  • Express.js - Web framework
  • Next.js, Nest.js - Full-stack frameworks

៣. Mobile Development

បង្កើត mobile apps ដោយប្រើ JavaScript។

  • React Native
  • Ionic
  • NativeScript

៤. Desktop Applications

បង្កើត desktop apps ដោយប្រើ JavaScript។

  • Electron (VS Code, Discord, Slack)
  • NW.js

៥. Game Development

បង្កើតហ្គេមដោយប្រើ JavaScript។

  • Phaser
  • Three.js (3D)
  • Babylon.js

៦. IoT & Embedded Systems

គ្រប់គ្រងឧបករណ៍ hardware។

  • Johnny-Five
  • Espruino

ហេតុអ្វីត្រូវរៀន JavaScript?

✅ គុណសម្បត្តិ

  • ងាយរៀន: Syntax សាមញ្ញ ល្អសម្រាប់អ្នកចាប់ផ្តើម
  • ពេញនិយម: ភាសាដែលត្រូវបានប្រើច្រើនបំផុតលើពិភពលោក
  • Versatile: អាចប្រើបានគ្រប់ទីកន្លែង (front-end, back-end, mobile...)
  • Community ធំ: មានធនធានសិក្សា libraries និងការគាំទ្រច្រើន
  • ការងារច្រើន: តម្រូវការខ្ពស់ក្នុងទីផ្សារការងារ
  • Free & Open Source: មិនចាំបាច់បង់លុយដើម្បីរៀន

⚠️ បញ្ហាដែលត្រូវដឹង

  • Browser support ខុសៗគ្នា (ប៉ុន្តែកាន់តែប្រសើរឡើង)
  • Asynchronous programming អាចស្មុគស្មាញ
  • ការផ្លាស់ប្តូររហ័ស - ត្រូវរៀនថ្មីៗជានិច្ច

ឧបករណ៍ដែលត្រូវការ

១. Browser

Browser ទំនើបណាមួយដែលមាន Developer Tools:

  • Google Chrome (ណែនាំ)
  • Mozilla Firefox
  • Microsoft Edge
  • Safari

២. Text Editor / IDE

សម្រាប់សរសេរកូដ:

  • Visual Studio Code (ពេញនិយមបំផុត)
  • Sublime Text
  • Atom
  • WebStorm

៣. Node.js (Optional)

សម្រាប់ការរត់ JavaScript នៅខាងក្រៅ browser។


ឧទាហរណ៍ជាក់ស្តែង - Interactive Demo

ឧទាហរណ៍នេះបង្ហាញអំណាច JavaScript ក្នុងការបង្កើតអន្តរកម្ម។


JavaScript vs Java

ទោះបីជាឈ្មោះស្រដៀងគ្នា ប៉ុន្តែ JavaScript និង Java គឺជាភាសាខុសគ្នាទាំងស្រុង!

JavaScript Java
ភាសា scripting ភាសា compiled
Interpreted Compiled to bytecode
Dynamically typed Statically typed
រត់នៅក្នុង browser រត់នៅលើ JVM
Prototype-based OOP Class-based OOP
សម្រាប់ web development សម្រាប់ applications ធំៗ

ព័ត៌មានគួរឱ្យចាប់អារម្មណ៍: ឈ្មោះ "JavaScript" ត្រូវបានជ្រើសរើសសម្រាប់គោលបំណងទីផ្សារ ព្រោះ Java ពេញនិយមណាស់នៅពេលនោះ។ ជាការពិតវាពាក់ព័ន្ធនឹង Java តិចតួចណាស់!


ជំហានបន្ទាប់

ឥឡូវនេះអ្នកបានយល់ដឹងអំពី JavaScript ហើយ! នៅក្នុងមេរៀនបន្ទាប់ យើងនឹងរៀន:

  • ទីតាំងសរសេរកូដ JavaScript
  • មូលដ្ឋានគ្រឹះ - Syntax, Variables, Data Types
  • Functions និង Events
  • DOM Manipulation
  • និងច្រើនទៀត...

គន្លឹះសម្រាប់អ្នកចាប់ផ្តើម: កុំព្យាយាមរៀនអស់គ្រប់យ៉ាងក្នុងពេលតែមួយ។ ចាប់ផ្តើមពីមូលដ្ឋានគ្រឹះ ហ្វឹកហាត់ជាប្រចាំ ហើយសាងសង់គម្រោងតូចៗដើម្បីអនុវត្តអ្វីដែលបានរៀន។ ការអត់ធ្មត់និងការអនុវត្តជាគន្លឹះនៃជោគជ័យ!