Module ৬ · scope, hoisting আর closure
প্রতিটা নিয়ম, একটা একটা করে: block, var, hoisting আর dead zone
Account থাকলেই freeপড়া
Bob-এর দোকানের program print করে notebook costs undefined। Price ও 450 বসিয়েছে লাইন 9-এ, অথচ লাইন 3 সেটা print করে ফেলেছে। কোনো error ওকে থামায়নি, কারণ price ও declare করেছে var দিয়ে, আর var-এ আগেভাগে নাম পড়াটা বৈধ। Module 1 কথা দিয়েছিল এটা বুঝিয়ে বলবে, নিচের hoisting-এর অংশটা সেই কথা রাখে।
আপনার জন্য এই lesson টা খোলা কি না দেখা হচ্ছে…
প্রতিটা নিয়ম, একটা একটা করে: block, var, hoisting আর dead zone এর ভেতরে কী আছে
- File-এর scope আর global object
- Block scope: let আর const নিজের brace-এর ভেতরেই থাকে
- Function scope: var block মানে না
- Parameter: function-এর নিজের নাম
- Shadowing: ভেতরের নাম বাইরেরটাকে ঢেকে দেয়
- Scope chain আর "is not defined"
- Hoisting: প্রতিটা scope-এর ওপর দুইটা pass
- Temporal dead zone
- Function expression আর arrow hoist হয় নিজের variable হিসেবে
- For loop-এর let: প্রতিটা pass-এ নতুন binding
- IIFE: হাতে বানানো একটা scope