জাভাস্ক্রিপ্ট ইঞ্জিন হলো একটি কম্পিউটার প্রোগ্রাম যা জাভাস্ক্রিপ্ট (জেএস) কোড পরিচালনা করে। প্রথম জাভাস্ক্রিপ্ট ইঞ্জিনগুলো কেবলমাত্র দোভাষী ছিল। তবে আধুনিক ইঞ্জিনগুলি উন্নত পারফরম্যান্সের জন্য কেবলমাত্র ইন-টাইম সংকলন ব্যবহার করে। [১]
জাভাস্ক্রিপ্ট ইঞ্জিনগুলো সাধারণত ওয়েব ব্রাউজার বিক্রেতাদের দ্বারা বিকশিত হয় এবং সাধারনত প্রতিটি বড় ব্রাউজারের একটি করে জাভাস্ক্রিপ্ট ইঞ্জিন থাকে। একটি ব্রাউজারে, জাভাস্ক্রিপ্ট ইঞ্জিনটি ডকুমেন্ট অবজেক্ট মডেলের মাধ্যমে ব্রাউজার ইঞ্জিনের সাথে একযোগে চলে।
জাভাস্ক্রিপ্ট ইঞ্জিনগুলোর ব্যবহার কেবল ব্রাউজারগুলোর মধ্যেই সীমাবদ্ধ নয়। ক্রোমের ৮ম ভার্সনের ইঞ্জিন বেশ জনপ্রিয় এবং নোড.জেএস এবং ডেনো রানটাইম সিস্টেমের মূল উপাদান।
যেহেতু ECMAScript (ES) জাভাস্ক্রিপ্টের মানকৃত স্পেসিফিকেশন, তাই এই ইঞ্জিনগুলির আরেক নাম ECMAScript ইঞ্জিন ।
প্রথম জাভাস্ক্রিপ্ট ইঞ্জিনটি ব্রেন্ডন আইচ ১৯৯৫ সালে নেটস্কেপ নেভিগেটর হিসেবে ওয়েব ব্রাউজারের জন্য তৈরি করেছিলেন। এটি আইচ উদ্ভাবিত নতুন ভাষার একটি প্রাথমিক দোভাষী ছিল। পরবর্তীতে এটি স্পাইডারমনকি ইঞ্জিনে বিবর্তিত হয়েছে। এটি এখনও মোজিলা ফায়ারফক্স ব্রাউজার দ্বারা ব্যবহৃত হয়।
প্রথম আধুনিক জাভাস্ক্রিপ্ট ইঞ্জিনটি ছিল ভার্সন ৮ যা ক্রোম ব্রাউজারের জন্য গুগল তৈরি করেছিল। ভার্সন ৮ ক্রোমের অংশ হিসাবে ২০০৮ সালে আত্মপ্রকাশ করেছিল এবং এর কর্মক্ষমতা আগের যে কোনও ইঞ্জিনের চেয়ে অনেক ভাল ছিল। [২][৩] মূল উদ্ভাবনটি ছিলো ইন-টাইম সংকলন, যা কার্যকর করার সময়ে উল্লেখযোগ্যভাবে উন্নয়ন করা হয়েছিল।
অন্যান্য ব্রাউজার বিক্রেতাদের প্রতিযোগিতা করার জন্য তাদের দোভাষীদের পরীক্ষা করতে হবে। [৪] অ্যাপল তার সাফারি ব্রাউজারের জন্য ওয়েবকিট ইঞ্জিন তৈরি করেছে। যার কর্মক্ষমতা তার পূর্বসূরির চেয়ে ৩০% ভাল ছিল। [৫] মোজিলা তার নিজস্ব স্পাইডারমোনকি ইঞ্জিনটি উন্নত করতে ওয়েককিটের অংশগুলিকে উত্তোলন করেছে। [৬]
২০১৩ সাল থেকে, এই ব্রাউজারগুলি ওয়েবঅ্যাসাব্ল্যাশনের জন্য সমর্থন যুক্ত করেছে। এটি পৃষ্ঠা স্ক্রিপ্টগুলির পারফরম্যান্স-সমালোচনামূলক অংশগুলির জন্য প্রাক-সংকলিত এক্সিকিউটেবলের ব্যবহার সক্ষম করে। জাভাস্ক্রিপ্ট ইঞ্জিনগুলি নিয়মিত জাভাস্ক্রিপ্ট কোড হিসাবে একই স্যান্ডবক্সে ওয়েবআসপুলেশন কোড চালায়।