পাইথনে সেমিকোলন অপশনল। জাভাস্ক্রিপ্টেও এটি অপশনল, কিন্তু এটি যুক্ত করা ভালো প্র্যাক্টিস এবং কখনো কখনো কিছু স্টেটমেন্টের জন্য আবশ্যক। যদি এই স্টেটমেন্টগুলোতে সেমিকোলন না থাকে, তবে আটোমেটিক্যালি একটি যোগ হয়ে যায়, কিন্তু এতে কোডের উদ্দেশ্য বদলতে পারে। এটাকে অটোমেটিক সেমিকোলন ইনসারশন (ASI) বলা হয়।
দেখুন কীভাবে:
নিচের কোডে কোনো সেমিকোলন নেই:
function sub(p, q) {
return
p + q
}
উপরের কোড আসলে নিচের মতো বিবেচিত হবে:
function sub(p, q) {
return;
p + q;
}
ফলাফল: ফাংশনটি undefined রিটার্ন করবে, p + q এক্সিকিউট হবে না। পাইথনে এই সমস্যা নেই কারণ লাইন ব্রেক স্টেটমেন্ট টার্মিনেট করে।