আমি চশমাগুলিতে এই 3 টি নিয়ম খুব ভাল করে বুঝতে পারি না - আরও স্পষ্ট ইংরেজী এমন কিছু পাওয়ার আশা করি - তবে আমি জাভাস্ক্রিপ্ট থেকে যা সংগ্রহ করেছি তা হল: সংজ্ঞায়িত গাইড, 6th ষ্ঠ সংস্করণ, ডেভিড ফ্লানাগান, ওরিলি, ২০১১:
উদ্ধৃতি:
জাভাস্ক্রিপ্ট প্রতিটি লাইন বিরতিটিকে সেমিকোলন হিসাবে বিবেচনা করে না: এটি সাধারণত লাইন বিরতিগুলি সেমিকোলন হিসাবে বিবেচনা করে তবেই যদি সেমিকোলনগুলি ছাড়াই কোডটি বিশ্লেষণ করতে না পারে।
আর একটি উদ্ধৃতি: কোডের জন্য
var a
a
=
3 console.log(a)
জাভাস্ক্রিপ্ট দ্বিতীয় লাইনের বিরতিটিকে সেমিকোলন হিসাবে বিবেচনা করে না কারণ এটি দীর্ঘ বিবৃতি a = 3 পার্স করা অবিরত রাখতে পারে;
এবং:
সাধারণ নিয়মের দুটি ব্যতিক্রম যে জাভাস্ক্রিপ্ট প্রথম লাইনে বিবৃতিটির ধারাবাহিকতা হিসাবে দ্বিতীয় রেখাকে বিশ্লেষণ করতে না পারলে সেমিকোলন হিসাবে বিভাজনকে ব্যাখ্যা করে। প্রথম ব্যতিক্রম রিটার্ন, বিরতি, এবং বিবৃতি অবিরত জড়িত
... যদি এই শব্দের পরে কোনও লাইন বিরতি উপস্থিত হয় ... জাভাস্ক্রিপ্ট সর্বদা সেই লাইন বিরতিটিকে সেমিকোলন হিসাবে ব্যাখ্যা করবে।
... দ্বিতীয় ব্যতিক্রম ++ এবং −− অপারেটরগুলির সাথে জড়িত ... আপনি যদি এই অপারেটরগুলির কোনওটিকে পোস্টফিক্স অপারেটর হিসাবে ব্যবহার করতে চান তবে তাদের অবশ্যই প্রয়োগ হওয়া অভিব্যক্তির মতো একই লাইনে উপস্থিত থাকতে হবে। অন্যথায়, লাইন বিরতিটি একটি সেমিকোলন হিসাবে গণ্য হবে, এবং ++ বা - এর পরে কোডটি প্রয়োগ করা প্রিফিক্স অপারেটর হিসাবে বিভক্ত হবে। এই কোডটি বিবেচনা করুন, উদাহরণস্বরূপ:
x
++
y
এটি যেমন পার্স করা হয় x; ++y;
, তেমন নয়x++; y
সুতরাং আমি এটিকে সহজ করার জন্য ভাবি, এর অর্থ:
সাধারণভাবে, জাভাস্ক্রিপ্ট যতদিন এটা জ্ঞান করে তোলে যেমন কোডের ধারাবাহিকতা যেমন বিবেচনা করবে - 2 মামলা ব্যতীত: (1) কিছু কিওয়ার্ড পছন্দ পর return
, break
, continue
, এবং (2) যদি এটা দেখে ++
বা --
একটি নতুন লাইন, তাহলে এটি যোগ করা হবে ;
পূর্ববর্তী লাইনের শেষে।
"কোড যতক্ষণ তা বোঝায় ততক্ষণ এটি ধারাবাহিকতা হিসাবে বিবেচনা করে" সম্পর্কে অংশটি এটিকে নিয়মিত প্রকাশের লোভী মিলের মতো অনুভব করে।
উপরের সাথে বলা হয়েছে, এর অর্থ return
একটি লাইন ব্রেক সহ, জাভাস্ক্রিপ্ট ইন্টারপ্রেটার একটি sertোকাবে;
(আবার উদ্ধৃত: যদি এই শব্দের পরে কোনও লাইন বিরতি উপস্থিত হয় [যেমন return
] ... জাভাস্ক্রিপ্ট সর্বদা সেই লাইন বিরতিটিকে সেমিকোলন হিসাবে ব্যাখ্যা করবে)
এবং এই কারণে, এর সর্বোত্তম উদাহরণ
return
{
foo: 1
}
প্রত্যাশা মতো কাজ করবে না, কারণ জাভাস্ক্রিপ্ট দোভাষী এটি হিসাবে বিবেচনা করবেন:
return; // returning nothing
{
foo: 1
}
এর পরপরই কোনও লাইন-ব্রেক থাকতে হবে না return
:
return {
foo: 1
}
এটি সঠিকভাবে কাজ করার জন্য। আপনি ;
যদি ;
কোনও বিবৃতি দেওয়ার পরে একটি ব্যবহারের নিয়মটি অনুসরণ করেন তবে আপনি নিজেকে সন্নিবেশ করতে পারেন :
return {
foo: 1
};