JavaScript 1999 (ES3)

জাভাস্ক্রিপ্টের জন্য প্রথম সংশোধন শিখুন

ECMAScript 3 (1999)

জাভাস্ক্রিপ্টের জন্য প্রথম সংশোধন।

ECMAScript 1999 ES3 নামেও পরিচিত।

📜ঐতিহাসিক তাৎপর্য:

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

ES3 বৈশিষ্ট্য

বৈশিষ্ট্য ব্যাখ্যা
Regular expressions অক্ষরের একটি ক্রম যা অনুসন্ধান প্যাটার্ন তৈরি করে
Error handling (try...catch) একটি বিবৃতি যা একটি ত্রুটির ক্ষেত্রে পরীক্ষা করার জন্য কোডের ব্লকগুলিকে সংজ্ঞায়িত করে৷
The switch keyword শর্তের উপর ভিত্তি করে কার্যকর করার জন্য কোডের ব্লক নির্বাচন করে
The do...while loop while লুপের একটি বৈকল্পিক

⚠️দ্রষ্টব্য:

ES3 স্পেসিফিকেশন ছিল জাভাস্ক্রিপ্টের জন্য প্রথম পরিপক্ক স্পেসিফিকেশন এবং বহু বছর ধরে ডি ফ্যাক্টো স্ট্যান্ডার্ড ছিল।

ব্রাউজার সমর্থন

JavaScript 1999 সমস্ত ব্রাউজারে সমর্থিত:

Chrome IE/Edge Firefox Safari Opera
সমর্থন করে সমর্থন করে সমর্থন করে সমর্থন করে সমর্থন করে

🌐বিশ্বব্যাপী সামঞ্জস্যতা:

যেহেতু ES3 বৈশিষ্ট্যগুলি প্রায় সমস্ত ব্রাউজারে সমর্থিত, তাই পুরানো ব্রাউজারগুলির সাথে সামঞ্জস্যপূর্ণ অ্যাপ্লিকেশন তৈরি করা আজও গুরুত্বপূর্ণ৷

Regular Expressions

অক্ষরের একটি ক্রম যা অনুসন্ধান প্যাটার্ন তৈরি করে।

উদাহরণ

একটি স্ট্রিং এ "w3schools" এর জন্য একটি কেস-সংবেদনশীল অনুসন্ধান করুন:

let text = "Visit W3Schools";
let n = text.search(/w3schools/i);

রেগুলার এক্সপ্রেশনের অন্যান্য উদাহরণ:

// নম্বর খোঁজা যাক প্যাটার্ন = /\d+/; let result = "হ্যালো 123 ওয়ার্ল্ড"। ম্যাচ(প্যাটার্ন); // ["123"] // ইমেল যাচাইকরণ ইমেইল প্যাটার্ন = /^[^\s@]+@[^\s@]+\।[^\s@]+$/; let isValid = emailPattern.test("test@example.com"); // সত্য // স্ট্রিং এ সমস্ত সংখ্যা প্রতিস্থাপন করুন let text = "মূল্য: $100, ছাড়: $20"; let newText = text.replace(/\d+/g, "NUM"); // "মূল্য: $NUM, ডিসকাউন্ট: $NUM"

🔍রেগুলার এক্সপ্রেশনের ব্যবহার:

রেগুলার এক্সপ্রেশনগুলি ডাটা যাচাইকরণ, স্ট্রিং ম্যানিপুলেশন, অনুসন্ধান এবং প্রতিস্থাপন এবং প্যাটার্ন নিষ্কাশনের জন্য ব্যাপকভাবে ব্যবহৃত হয়।

Error Handling (try...catch)

একটি বিবৃতি যা একটি ত্রুটির ক্ষেত্রে পরীক্ষা করার জন্য কোডের ব্লকগুলিকে সংজ্ঞায়িত করে৷

উদাহরণ

একটি অস্তিত্বহীন পরিবর্তনশীল ব্যবহার করা যাবে না:

let x = 5;

try {
  x = y + 1;
} catch(err) {
  let text = err.name;
}

উন্নত ত্রুটি হ্যান্ডলিং:

// অবশেষে মডিউল সহ চেষ্টা করুন { // কোড পরীক্ষা করুন যাক ফলাফল = ঝুঁকিপূর্ণ অপারেশন(); } ধরা(ত্রুটি) { // ত্রুটি হ্যান্ডলিং console.error("একটি ত্রুটি ঘটেছে:", error.message); } অবশেষে { // সর্বদা সক্রিয় console.log("অপারেশন সম্পন্ন"); } // একাধিক ধরণের ত্রুটি পরিচালনা করুন চেষ্টা করুন { let data = JSON.parse(invalidJson); } ধরা(ত্রুটি) { যদি (SyntaxError এর ত্রুটির উদাহরণ) { console.log("JSON পার্সিং ত্রুটি"); } অন্য যদি (TypeError-এর ত্রুটির উদাহরণ) { console.log("টাইপ ত্রুটি"); } অন্য { console.log("অন্য ত্রুটি:", ত্রুটি); } }

💡ত্রুটি পরিচালনার গুরুত্ব:

চেষ্টা করুন...ক্যাচ স্টেটমেন্টগুলি অপ্রত্যাশিত ত্রুটিগুলিকে বাধা না দিয়ে প্রোগ্রামগুলিকে চালিয়ে যেতে দেয়, আরও নির্ভরযোগ্য অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।

switch Keyword

একটি শর্তের উপর ভিত্তি করে, সুইচ কোডের এক বা একাধিক ব্লক কার্যকর করতে বেছে নেয়।

উদাহরণ

সপ্তাহের দিন সংখ্যা গণনা করতে এই উদাহরণটি সপ্তাহের দিনের নাম ব্যবহার করে:

switch (new Date().getDay()) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
     day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}

সুইচ স্টেটমেন্টের অন্যান্য ব্যবহার:

// একাধিক ক্ষেত্রে একই কোড let grade = 'B'; ফলাফল দিন সুইচ (গ্রেড) { কেস 'এ': কেস 'বি': কেস 'সি': ফলাফল = "পাস"; বিরতি কেস 'ডি': কেস 'এফ': ফলাফল = "ব্যর্থ"; বিরতি ডিফল্ট: ফলাফল = "অবৈধ গ্রেড"; } // ডিফল্ট কেস let fruit = "আপেল"; সুইচ (ফল) { কেস "কলা": console.log("হলুদ ফল"); বিরতি কেস "আপেল": console.log("লাল ফল"); বিরতি ডিফল্ট: console.log("অজানা ফল"); }

do...while Loop

অন্তত একবার এক্সিকিউট করার সময় করুন, যদিও শর্তটি প্রাথমিকভাবে মিথ্যা হয়।

কারণ শর্তটি পরীক্ষা করার আগে কোডের ব্লকটি কার্যকর করা হয়।

উদাহরণ

do {
  text += "The number is " + i;
  i++;
}
while (i < 10);

do...while vs while:

do...while loop

let i = 0;
do {
  console.log(i);
  i++;
} while (i < 5);
// Output: 0 1 2 3 4

বৈশিষ্ট্য:অন্তত একবার রান করে

while loop

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}
// Output: 0 1 2 3 4

বৈশিষ্ট্য:শর্ত সত্য হলেই চলে

⚠️দ্রষ্টব্য:

শর্তে ব্যবহৃত ভেরিয়েবলটি বৃদ্ধি করতে ভুলবেন না, অন্যথায় লুপটি শেষ হবে না!

ব্যবহারিক উদাহরণ:

// ব্যবহারকারীর ইনপুট যাচাই করার সময় do... ব্যবহার করে ইউজারইনপুট দিন; let isValid = মিথ্যা; কর { userInput = প্রম্পট("একটি সংখ্যা লিখুন (1-10):"); let num = parseInt(userInput); যদি (num >= 1 && num <= 10 && !isNaN(num)) { isValid = সত্য; console.log("বৈধ ইনপুট:" + সংখ্যা); } অন্য { console.log("অবৈধ ইনপুট। আবার চেষ্টা করুন।"); } } যখন (! isValid);

ES3 প্রসঙ্গ এবং উত্তরাধিকার

ES3 জাভাস্ক্রিপ্ট ভাষার বিকাশে একটি প্রধান মাইলফলক চিহ্নিত করে:

প্রথম ম্যাট্রিকুলেশন স্ট্যান্ডার্ড:ES3 ছিল জাভাস্ক্রিপ্টের জন্য প্রথম সম্পূর্ণ, পরিপক্ক স্পেসিফিকেশন
দীর্ঘমেয়াদী সমর্থন:ES3 বৈশিষ্ট্যগুলি বছরের পর বছর ধরে সমস্ত প্রধান ব্রাউজারে সমর্থিত
মৌলিক ভাষার কাঠামো:রেগুলার এক্সপ্রেশন, এরর হ্যান্ডলিং, এবং কন্ট্রোল স্ট্রাকচারের মতো গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি চালু করা হয়েছে
পশ্চাদপদ সামঞ্জস্য:ES3 বৈশিষ্ট্যগুলি পরবর্তী সমস্ত ES সংস্করণে সমর্থিত

🏛️ঐতিহাসিক প্রেক্ষাপট:

ES3 1999 সালে প্রকাশিত হয়েছিল এবং 2009 সালে ES5 প্রকাশ না হওয়া পর্যন্ত 10 বছরের জন্য জাভাস্ক্রিপ্টের প্রাথমিক মান ছিল৷ এটি ওয়েব ডেভেলপমেন্টের প্রথম দিনগুলিতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করেছিল৷

জাভাস্ক্রিপ্ট 1999 (ES3) টিউটোরিয়াল

ES3 তে শেখা বৈশিষ্ট্যগুলি পরীক্ষা করতে এই টিউটোরিয়ালটি চেষ্টা করুন।

ES3 তে প্রবর্তিত নিম্নলিখিত লুপগুলির মধ্যে কোনটি অন্তত একবার কার্যকর করে, এমনকি শর্তটি প্রাথমিকভাবে মিথ্যা হলেও?

while loop
✗ ভুল! কন্ডিশন সত্য হলেই while লুপ চলবে
for loop
✗ ভুল! জন্য লুপ শুধুমাত্র সীমিত সংখ্যক বার চলে
for...in loop
✗ ভুল! for...in লুপ শুধুমাত্র বস্তুর বৈশিষ্ট্যের মাধ্যমে লুপ করে
do...while loop
✓ ঠিক আছে! করণীয়...যখন লুপ অন্তত একবার কার্যকর করে, যদিও শর্তটি প্রাথমিকভাবে মিথ্যা হয়, কারণ শর্তটি পরীক্ষা করার আগে কোডটি কার্যকর করা হয়