জেভাস্ক্রিপ্ট হইস্টিং
- পূর্ববর্তী পৃষ্ঠা JS স্কোপ
- পরবর্তী পৃষ্ঠা JS স্ট্রিক্ট মোড
Hoisting (উঠে আসা) হল জেভাস্ক্রিপ্ট যা ঘোষণা শীর্ষে উঠে আসে।
জেভাস্ক্রিপ্ট ঘোষণা উঠে আসে
জেভাস্ক্রিপ্টে, বস্তুকে ব্যবহার করার পরেও ঘোষণা করা যায়。
অর্থাৎ, ঘোষণা করা হওয়া বস্তুর আগেই তা ব্যবহার করা যায়。
উদাহরণ 1 সাথেউদাহরণ 2 এর ফলাফল একই হয়:
উদাহরণ 1
x = 5; // 5-কে x-কে প্রস্তুত করা elem = document.getElementById("demo"); // উপাদান অনুসন্ধান elem.innerHTML = x; // x-কে উপাদানে দেখান var x; // x-কে ঘোষণা করা
উদাহরণ 2
var x; // x-কে ঘোষণা করা x = 5; // 5-কে x-কে প্রস্তুত করা elem = document.getElementById("demo"); // উপাদান অনুসন্ধান elem.innerHTML = x; // x-কে উপাদানে দেখান
এই বিষয়টি বোঝার জন্য, আপনাকে "hoisting" শব্দটি বোঝা উচিত。
Hoisting হল জেভাস্ক্রিপ্ট যা সব ঘোষণা একত্রিতভাবে বর্তমান অবস্থানের শীর্ষে উঠে আসে (বর্তমান স্ক্রিপ্ট বা বর্তমান ফাংশনের শীর্ষে উঠে আসে)।
let এবং const কীভাবে ব্যবহার করা যায়
দ্বারা let
বা const
ঘোষণা করা হওয়া বা স্থায়ী করা হওয়া বস্তুগুলো উঠে আসে না!
জেভাস্ক্রিপ্ট প্রথমেই প্রস্তুত করা হয় না
জেভাস্ক্রিপ্ট শুধুমাত্র ঘোষণা উঠে আসে, নয় তা প্রথমেই প্রস্তুত করা
উদাহরণ 1 সাথেউদাহরণ 2 এর ফলাফল একই নয়:
উদাহরণ 1
var x = 5; // x-কে প্রাথমিকভাবে 5-তে অন্তর্ভুক্ত করুন var y = 7; // y-কে প্রথমেই প্রস্তুত করা elem = document.getElementById("demo"); // উপাদান অনুসন্ধান elem.innerHTML = x + " " + y; // x এবং y-কে দেখান
উদাহরণ 2
var x = 5; // x-কে প্রাথমিকভাবে 5-তে অন্তর্ভুক্ত করুন elem = document.getElementById("demo"); // উপাদান অনুসন্ধান elem.innerHTML = x + " " + y; // x এবং y-কে দেখান var y = 7; // y-কে প্রথমেই প্রস্তুত করা
সর্বশেষ উদাহরণের y এখনও অসংজ্ঞিত কি বলা যাবে?
এটা কারণ হল যে শুধুমাত্র ঘোষণা (var y) নয়, তা সহ প্রথমেই প্রস্তুত করা হয়েছে (=7)।
হোইস্টিং-এর কারণে, y-কে ব্যবহার করার আগেই ঘোষণা করা হয়েছে, কিন্তু প্রথমবারের মতো প্রস্তুত করা না হওয়ায়, y-এর মান অপরিচিত
উদাহরণ 2ও একইভাবে:
প্রয়োগ
var x = 5; // x-কে প্রাথমিকভাবে 5-তে অন্তর্ভুক্ত করুন var y; // y ঘোষণা elem = document.getElementById("demo"); // উপাদান অনুসন্ধান elem.innerHTML = x + " " + y; // x এবং y-কে দেখান y = 7; // 7-কে y-তে অন্তর্ভুক্ত করুন
আপনার বৃত্তীকে শীর্ষে ঘোষণা করুন!
Hoisting (বহু ডেভেলপারের কাছে) JavaScript-এর একটি অপরিচিত বা অবহেলা আচরণ
যদি ডেভেলপারগণ হোইস্টিং না বুঝেন, তবে প্রোগ্রামটির ভিতরে বাগ থাকতে পারে。
বাগ এড়াতে, প্রত্যেক স্কোপের ভাবে সব বৃত্তীকে ঘোষণা করুন。
এইভাবেই JavaScript কোডকে বোঝানো হয়, এই সুবাদজনক অভ্যাসটি রাখুন。
স্ট্রিক্ট মোডের মধ্যে JavaScript অশুল্কীকৃত বৃত্তীকে ব্যবহার করা না হয়。
আপনারা পরবর্তী চাপ্তীতে শিখুন “use strict。”
- পূর্ববর্তী পৃষ্ঠা JS স্কোপ
- পরবর্তী পৃষ্ঠা JS স্ট্রিক্ট মোড