আপনি যে কারণে সমস্যাগুলি দেখছেন তা হ'ল কনসোল নিজেই বর্তমানে আপনি যে প্রসঙ্গটি লক্ষ্য করছেন তার বৈশ্বিক সুযোগ অনুকরণ করার চেষ্টা করে। এটি কনসোলে আপনার লেখা বিবৃতি এবং প্রকাশগুলি থেকে ফিরতি মানগুলি ক্যাপচার করার চেষ্টা করে, যাতে ফলাফল হিসাবে প্রদর্শিত হয় the যেমন ধরুন:
> 3 + 2
< 5
এখানে, এটি কার্যকর করে যেমন এটি প্রকাশ করে তবে আপনি এটি লিখেছেন যেন এটি একটি বিবৃতি। সাধারণ স্ক্রিপ্টগুলিতে, মানটি ফেলে দেওয়া হবে, তবে এখানে কোডটি অভ্যন্তরীণভাবে ম্যাঙ্গেল করা উচিত (যেমন কোনও ফাংশন প্রসঙ্গে এবং পুরো স্টেটমেন্টটি মোড়ানোর মতো)return
বিবৃতি ), যা আপনি যে সমস্যার সম্মুখীন হচ্ছেন সেগুলি সহ সকল প্রকারের অদ্ভুত প্রভাবের কারণ হয়।
স্ক্রিপ্টগুলিতে কিছু খালি ES6 কোড ঠিকঠাকভাবে কাজ করে তবে Chrome Dev সরঞ্জামগুলি কনসোলটিতে না রাখার একটি কারণও এটি।
নোড এবং ক্রোম কনসোলে এটি কার্যকর করার চেষ্টা করুন:
{ let a = 3 }
নোড বা একটি <script>
ট্যাগে এটি ঠিক কাজ করে তবে কনসোলে এটি দেয় Uncaught SyntaxError: Unexpected identifier
। এটি আপনাকে সেই সূত্রের লিঙ্ক দেয় VMxxx:1
যা আকারে আপনি মূল্যায়িত উত্সটি পরিদর্শন করতে ক্লিক করতে পারেন, যা এটি প্রদর্শিত হবে:
({ let a = 3 })
তাহলে কেন এটি এমন করল?
উত্তরটি হ'ল এটির জন্য আপনার কোডটি একটি অভিব্যক্তিতে রূপান্তর করা দরকার যাতে ফলাফলটি কলারে ফিরে আসে এবং কনসোলে প্রদর্শিত হয়। আপনি এটি বন্ধনীতে বিবৃতি মোড়ানো দ্বারা এটি করতে পারেন, এটি এটিকে একটি অভিব্যক্তি হিসাবে চিহ্নিত করে, তবে এটি উপরের ব্লকটিকে সিন্টেক্সিকভাবেও ভুল করে তোলে (এক্সপ্রেশনটির কোনও ব্লক ঘোষণা থাকতে পারে না)।
কনসোল কোড সম্পর্কে স্মার্ট হয়ে এই প্রান্তের কেসগুলি ঠিক করার চেষ্টা করে, তবে এটি এই উত্তরটির বাইরে নয়, আমি মনে করি। তারা ঠিক করার বিষয়টি বিবেচনা করছে এমন কিছু কিনা তা দেখতে আপনি একটি বাগ ফাইল করতে পারেন।
খুব অনুরূপ কিছু এর একটি ভাল উদাহরণ এখানে:
https://stackoverflow.com/a/28431346/46588
আপনার কোডের কাজটি করার নিরাপদতম উপায় হল এটি একটি এক্সপ্রেশন হিসাবে চালানো যেতে পারে তা নিশ্চিত করা এবং এটির পরীক্ষা করা SyntaxError
আসল এক্সিকিউশন কোডটি কী তা দেখার জন্য উত্সের লিঙ্কটি করা এবং সেখান থেকে কোনও সমাধান বিপরীত প্রকৌশলী। সাধারণত এর অর্থ কৌশলগতভাবে স্থাপন করা প্রথম বন্ধনী।
সংক্ষেপে: কনসোলটি যথাসম্ভব যথাযথভাবে গ্লোবাল এক্সিকিউশন প্রসঙ্গে অনুকরণ করার চেষ্টা করে, তবে ভি 8 ইঞ্জিন এবং জাভাস্ক্রিপ্ট শব্দার্থবিজ্ঞানের সাথে মিথস্ক্রিয়া সীমাবদ্ধতার কারণে এটি কখনও কখনও সমাধান করা শক্ত বা অসম্ভব।