Undeclared এবং Undefined-এর পার্থক্য
Undeclared: যখন কোনো ভেরিয়েবল `var`, `let` বা `const` দিয়ে ডিক্লেয়ার না করা থাকলে অ্যাক্সেস করার চেষ্টা করা হয়। এটি ReferenceError তৈরি করে।
Undefined: যখন ভেরিয়েবল ডিক্লেয়ার করা আছে কিন্তু মান অ্যাসাইন করা নেই। এর মান `undefined`।
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.result { font-size: 18px; font-weight: 500; color: blueviolet; }
</style>
</head>
<body>
<h1>Undeclared vs Undefined</h1>
<div class="result"></div>
<div class="result"></div>
<button class="Btn">এখানে ক্লিক করুন</button>
<h3>উপরোক্ত বাটনে ক্লিক করুন undeclared এবং undefined ভেরিয়েবল অ্যাক্সেস করতে</h3>
<script>
let BtnEle = document.querySelector(".Btn");
let resEle = document.querySelectorAll(".result");
let a;
BtnEle.addEventListener("click", () => {
resEle[0].innerHTML += "Accessing undefined variable = " + a;
try {
resEle[1].innerHTML = b;
} catch (err) {
resEle[1].innerHTML = "Accessing undeclared variable = " + err;
}
});
</script>
</body>
</html>
আউটপুট
প্রথম বক্সে "undefined" দেখাবে, দ্বিতীয় বক্সে "ReferenceError: b is not defined" দেখাবে।