জাভাস্ক্রিপ্টের স্বয়ংক্রিয় সেমিকোলন সন্নিবেশ (ASI) হল অনুপস্থিত সেমিকোলন সন্নিবেশ করা। নিম্নলিখিত বিবৃতিগুলি স্বয়ংক্রিয় সেমিকোলন সন্নিবেশ দ্বারা প্রভাবিত হয় -
empty statement var statement expression statement do-while statement continue statement break statement return statement throw statement
নিয়মগুলি নিম্নলিখিত স্পেসিফিকেশনে রয়েছে -
- যখন, একটি স্ক্রিপ্ট বা মডিউল বাম থেকে ডানে পার্স করা হয়:একটি টোকেন সম্মুখীন হয় যা ব্যাকরণের কোনো উত্পাদন দ্বারা অনুমোদিত নয়, তখন একটি সেমিকোলন স্বয়ংক্রিয়ভাবে আপত্তিকর টোকেনের আগে ঢোকানো হয় শুধুমাত্র যদি নিম্নলিখিতগুলির একটি বা একাধিক শর্ত সত্য হয় -
- আপত্তিকর টোকেন হল }।
- আগের টোকেন হল ) এবং ঢোকানো সেমিকোলনটি তখন ডু-হোইল স্টেটমেন্ট (13.7.2) এর সমাপ্ত সেমিকোলন হিসাবে পার্স করা হবে।
- টোকেনগুলির ইনপুট স্ট্রীমের সমাপ্তির সম্মুখীন হয় এবং সেইজন্য পার্সার একটি সম্পূর্ণ ECMAScript বা একটি মডিউল হিসাবে ইনপুট টোকেন স্ট্রীমকে পার্স করতে অক্ষম হয়, তারপর একটি সেমিকোলন স্বয়ংক্রিয়ভাবে সন্নিবেশিত হয়৷
- টোকেনের সম্মুখীন হয় যা ব্যাকরণের কিছু উৎপাদন দ্বারা অনুমোদিত, কিন্তু উৎপাদন একটি সীমাবদ্ধ উৎপাদন এবং টোকেনটি টীকাটির পরপরই একটি টার্মিনাল বা অ-টার্মিনালের জন্য প্রথম টোকেন হবে।