কম্পিউটার

জাভাস্ক্রিপ্ট সিনট্যাক্স ত্রুটি:অনুপস্থিত ) আর্গুমেন্ট তালিকা সমাধানের পরে

জাভাস্ক্রিপ্ট বন্ধনীর উপর নির্ভর করে যে ফাংশন কলগুলি কোথায় শুরু হয় এবং শেষ হয়। আপনি যদি একটি ফাংশন বন্ধ করার আগে সিনট্যাক্সের একটি অংশ মিস করেন, আপনি আর্গুমেন্ট তালিকার পরে "সিনট্যাক্স ত্রুটি:অনুপস্থিত ) এর সম্মুখীন হবেন।

এই নির্দেশিকাটি অনুসন্ধান করে যে এই ত্রুটিটির অর্থ কী এবং কেন এটি উত্থাপিত হয়েছে৷ আমরা এই সমস্যার একটি উদাহরণ দিয়ে হেঁটে যাবো যাতে আপনি শিখতে পারেন যে সমস্যাটি সমাধান করার জন্য আপনাকে কী জানা দরকার৷

সিনট্যাক্স ত্রুটি:অনুপস্থিত ) আর্গুমেন্ট তালিকার পরে

আর্গুমেন্ট তালিকার পরে "অনুপস্থিত ) বার্তাটি আমাদের বলে যে একটি ফাংশন কলের ভিতরে একটি সিনট্যাক্স ত্রুটি রয়েছে৷

এটি ঘটতে পারে যদি আপনি একটি আর্গুমেন্টের তালিকার শেষে একটি কমা যোগ করেন যা অন্য একটি যুক্তি দ্বারা অনুসরণ করা হয় না।

জাভাস্ক্রিপ্ট প্রতিটি কমা পরে অন্য আর্গুমেন্ট আশা করে। যদি জাভাস্ক্রিপ্ট অন্য আর্গুমেন্ট খুঁজে না পায়, তাহলে আপনার কোড সফলভাবে পার্স করা যাবে না এবং বন্ধ বন্ধনী একটি সিনট্যাক্স ত্রুটি উত্থাপন করবে।

এই সমাধানের আরেকটি সম্ভাব্য কারণ হল একটি স্ট্রিং এর ভিতরে একটি ফাংশনে আর্গুমেন্টগুলিকে আলাদা করতে আপনার প্রয়োজনীয় কমাটি ঘেরা।

আপনি যদি এই ত্রুটির সম্মুখীন হন, জাভাস্ক্রিপ্ট ত্রুটি নির্দেশ করে এমন কোডের সমস্ত সিনট্যাক্স সাবধানে পড়ুন। নিশ্চিত করুন যে আপনার সমস্ত বন্ধনী মিলে যাচ্ছে এবং আপনি আপনার ফাংশন কলের মধ্যে সঠিকভাবে কমা ব্যবহার করেছেন৷

একটি উদাহরণ দৃশ্য

আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা গণনা করে যে একজন শিক্ষার্থী স্কুলে পরীক্ষায় পাস করেছে বা ফেল করেছে কিনা। শুরু করার জন্য, আসুন একজন শিক্ষার্থী যে গ্রেড অর্জন করেছে তা সংজ্ঞায়িত করা যাক এবং একটি বার্তা আমরা কনসোলে প্রিন্ট করব যা আমাদের জানায় যে একজন শিক্ষার্থী পাস করেছে বা ফেল করেছে:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

var grade = 57;
var message = "This student has X their test.";

জাভাস্ক্রিপ্ট ভেরিয়েবল "মেসেজ"-এ একটি স্থানধারক অক্ষর X অন্তর্ভুক্ত রয়েছে। আমরা আমাদের প্রোগ্রামে পরে এটিকে "পাস করা" বা "ব্যর্থ" দিয়ে প্রতিস্থাপন করব।

একজন শিক্ষার্থীর গ্রেড 53-এর বেশি হলে, তারা পরীক্ষায় উত্তীর্ণ হয়েছে। অন্যথায়, তারা ব্যর্থ হয়েছে।

এখন যেহেতু আমরা আমাদের শিক্ষার্থীর গ্রেড নির্ধারণ করেছি, আমরা গণনা করতে পারি যে তারা তাদের পরীক্ষায় উত্তীর্ণ হয়েছে নাকি ব্যর্থ হয়েছে। এটি করার জন্য, আমরা একটি if বিবৃতি ব্যবহার করতে যাচ্ছি:

if (grade > 53) {
	message.replace("X," "passed");
} else {
	message.replace("X", "failed");
}

একজন শিক্ষার্থী পাস করেছে বা ফেল করেছে কিনা তা মূল্যায়ন করতে আমরা একটি ইফ স্টেটমেন্ট এবং আরেকটি স্টেটমেন্ট ব্যবহার করি। যদি if বিবৃতিটি সত্য হিসাবে মূল্যায়ন করে, আমাদের "বার্তা" স্ট্রিং-এ "X" এর মান "পাস" হয়ে যায়; অন্যথায়, "X" এর মান "ব্যর্থ" হয়ে যাবে।

এখন যেহেতু আমরা বার্তাটি লিখেছি যে একজন শিক্ষার্থী তাদের পরীক্ষায় পাস করেছে বা ফেল করেছে কিনা, আমরা সেই বার্তাটি জাভাস্ক্রিপ্ট কনসোলে প্রিন্ট করতে পারি:

console.log(message);

আসুন আমাদের কোড চালাই এবং দেখুন কি হয়:

Uncaught SyntaxError: missing ) after argument list

আমাদের কোড একটি সিনট্যাক্স ত্রুটি প্রদান করে৷

সমাধান

জাভাস্ক্রিপ্ট আমাদের কোড মূল্যায়ন করতে অক্ষম কারণ আমরা আমাদের ফাংশন কলগুলির মধ্যে একটি ভুল করেছি। আমরা এটি জানি কারণ ফাংশন কলে আর্গুমেন্ট তালিকা বিদ্যমান।

আসুন আমাদের ফাংশন কলগুলি একবার দেখে নেওয়া যাক:

message.replace("X," "passed");
message.replace("X", "failed");

দ্বিতীয় বিবৃতিটি সিনট্যাক্টিকভাবে সঠিক বলে মনে হলেও, প্রথমটিতে একটি ত্রুটি রয়েছে। আমরা আমাদের প্রথম স্ট্রিং এর পরে একটি কমা যোগ করেছি। প্রথম replace()-এ “X,” বিবৃতিটি লক্ষ্য করুন কল

এটি আমাদের আর্গুমেন্ট লিস্টে দুটি মান ধারণ করে যা একে অপরের পরে উপস্থিত হয়। এটি ভুল সিনট্যাক্স। আর্গুমেন্ট অবশ্যই কমা দিয়ে আলাদা করতে হবে।

এই ত্রুটিটি ঠিক করার জন্য, আমরা কমাকে "X" স্ট্রিং থেকে স্ট্রিংয়ের বাইরে সরাতে যাচ্ছি:

message.replace("X", "passed");

আমরা স্ট্রিং এর বাইরে কমা সরিয়ে নিয়েছি। আসুন আমাদের কোডটি চালান এবং দেখুন এটি কাজ করে কিনা।

আমাদের কোড ফিরে আসে:

"This student has passed their test."

আমাদের কোড সফলভাবে কার্যকর হয়েছে!

উপসংহার

"SyntaxError:missing ) after argument list" ত্রুটি উত্থাপিত হয় যদি একটি ফাংশন কল সঠিকভাবে মূল্যায়ন না করা যায়। এই ত্রুটিটি ঠিক করতে, নিশ্চিত করুন যে আপনার আর্গুমেন্টগুলি সঠিকভাবে ফর্ম্যাট করা হয়েছে৷ ফাংশন কলের সমস্ত আর্গুমেন্ট কমা দ্বারা পৃথক করা হয়েছে কিনা তা দুবার পরীক্ষা করুন।

এখন আপনার কাছে এই সিনট্যাক্স ত্রুটিটি বিশেষজ্ঞের মতো ঠিক করার জন্য প্রয়োজনীয় জ্ঞান রয়েছে!


  1. JavaScript document.getElementByID একটি ফাংশন সমাধান নয়

  2. appendChild JavaScript:একটি গাইড

  3. জাভাস্ক্রিপ্ট ব্যবহার করে একটি লিঙ্ক তালিকা তৈরি করা

  4. জাভাস্ক্রিপ্টে সার্কুলার হিসাবে দ্বিগুণ লিঙ্কযুক্ত তালিকা