Skip to main content

Command Palette

Search for a command to run...

‘this’ কীওয়ার্ড নিয়ে বিস্তারিত

Updated
3 min read
‘this’ কীওয়ার্ড  নিয়ে  বিস্তারিত
S

Run | Jump | Roar The World

‘this’ হচ্ছে জাভাস্ক্রিপ্টের সবচেয়ে কনফিউজিং এন্ড জটিল একটা কনসেপ্ট, ইন্টারমিডিয়েট লেভেলের ডেভেলপররাও ‘this’ এর ব্যবহার নিয়ে কনফিউশনে পড়ে যায়। তাই আজকে আমরা this নিয়ে যতরকম কনফিউশন আছে সব দূর করবো।

‘this’ কি?

‘this’ = মানে এই :-), this হচ্ছে জাভাস্ক্রীপ্টের একটা রিসার্ভড কীওয়ার্ড, জাভাস্ক্রিপ্টের বায় ডিফাল্ট রুল অনুযায়ী রিসার্ভড কীওয়াডর্কে ভ্যারিয়েবল বা ফাংশন হিসেবে ব্যবহার করতে পারবেন না।

this কীওয়ার্ড কেন প্রয়োজন জাভাস্ক্রিপ্টে?

this কীওয়ার্ড ব্যবহার করা হয় রিইউজাবিলিটি বাড়ানোর জন্য এবং this কীওয়ার্ড একটা ফাংশনকে different কনটেক্স এ ব্যবহার করতে সাহায্য করে।

this কীওয়ার্ডের ব্যবহারের ৪টি নিয়ম নিয়ে আজকে আলোচনা করবো, যা সমন্ধে ধারণা থাকলে, this কীওর্য়াডের ব্যবহার, কোন অবজেক্টকে ডিনোট করছে তা নিয়ে আর কোন হতাশা/কনফিউশন থাকবে না।

রুলগুলো হলঃ

১. implicit binding ( পরোক্ষভাবে)

২. explicit bing ( প্রত্যক্ষভাবে)

৩. new binding

৪. window binding

১. implicit binding

implicit biding এর রুল খুব সোজা, সবার আগে দেখবো কোন একটা ফাংশন কোথায় কল হয়েছে এবং দেখবো সেটার কোন ডট(.) নোটেশন আছে কিনা, সেটার ইমিডিয়েট left এ যেটা আছে সেটাই this কে ডিনোট করবে।

Example 1:

নিচের কনসোল লগ এ লক্ষ্য করুন this.name book object থেকে name প্রিন্ট করেছে অর্থাৎ this এখানে পরোক্ষভাবে book object কে denote করে কারন isReading function call হয়েছে book object এর ডট notation হিসেবে।

Example 2:

২. Explicit Binding

বাইরের কোন কনটেক্সের ফাংশনকে ইনার কনটেক্স থেকে যদি কল করার প্রয়োজন হয় সেক্ষেত্রে explicit binding ব্যবহার করা হয়, explicit binding এর মাধ্যমে প্রত্যক্ষভাবে বলে দেওয়া যায় কোনটা অবজেক্ট হবে।

  • call - second প্যারামিটার হিসেবে একটা একটা করে argument পাস করা যায়।

  • apply - second প্যারামিটার এ আ্যারে কে argument হিসবে পাস করা যায়।

  • bind - second প্যারামিটার হিসেবে একটা একটা করে argument পাস করা যায়।

Example 1. [Call]

এখানে call function দ্বারা প্রত্যক্ষভাবে this students object কে denote করবে বলে দেওয়া হয়েছে।

Example 2:

এখানে apply function দ্বারা প্রত্যক্ষভাবে this students object কে denote করবে বলে দেওয়া হয়েছে।

Example 3: [Bind]

bind ও call function এর মত একটা একটা করে প্যারামিটার নেয়, কিন্তু isPlaying ফাংশনকে ডিরেক্টলি কল না করে instance তৈরী করে।

৩. new binding

কনস্ট্রাক্টর ফাংশনকে যখন new কীওয়ার্ড দিয়ে কল করা হয় তখন ঐ instance এর জন্য কনস্ট্রাক্টর ফাংশনের মধ্যে নতুন অবজেক্ট তৈরী হয় সেটাই this.name সেট করে এবং ফাইনাল অবজেক্ট রির্টান করে।

নিচের উদাহরণটিতে খেয়াল করুন মনোযোগ দিয়ে,

৪. window binding

Global কনটেক্স এ থাকা কোন একটা ফাংশনকে কল করা হলে সেই ফাংশনের this কে কনসোল লগ করা হলে দেখতে পাবো এই Global window object কে ডিনোট করে, এটা জাভাস্ক্রীপ্টের বায় ডিফাল্ট বিহেবিওর।

'use strict' ব্যবহার করে এই ডিফাল্ট বিহেবিওর কে আটকানো যায়।

এই চারটা নিয়ম মনে রাখলে কোড করার সময় this নিয়ে আর কোন কনফিউশন থাকবে না আশা করি।

পরবর্তী পোস্টগুলোতে শিখবো, filter(), map (), foreach (), spread operator , জাভাস্ক্রিপ্টের স্কোপ নিয়ে

R

nc concept...one more

More from this blog

We discuss basic routing

বেসিক রাউটিং সফটওয়্যার আর্কিটেকচারে রাউট হচ্ছে মৌলিক উপাদান(Basic Component). রাউট URL(URL = Uniform Resource Locator) থেকে অনুরোধ গ্রহণ করে এবং এপ্লিকেশনকে রিসোর্সের জন্য নির্দেশনা প্রদান করে। লারাভেলের রাউট সমূহ একই সাথে সুবিন্যস্ত করে রাখার জন্য r...

Jun 1, 20233 min read

Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

এখন কোডিংয়ের স্পীড হবে রকেটের গতি যদি আপনি ব্লগটি পড়েন এবং শর্টকাট ব্যবহার করেন তাহলে চলুন শুরু করি। Visual Studio Code এডিটর কি-বোর্ড শর্টকার্টঃ MAC ও WINDOWS এর জন্য আলাদা কি-বোর্ড শর্টকাট নিচে দেওয়া হল- Visual Studio Code এর কমান্ড পেলেট কিভাবে ওপ...

Jun 1, 20233 min read
Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

WordPress Support Engineer Input Field And Form

আজকে আমরা আলোচনা করব আমাদের WordPress Support Engineer Course এর ক্লাস ২ নিয়ে এবং আমাদের টপিক হলো html input fields. ইনপুট ফিল্ডে বিভিন্ন রকম টাইপ রয়েছে এর মধ্যে default html,html-5,iput type="text" ইত্যাদি। তো চলুন শুরু করি ।প্রথমেই আমরা আলোচনা করব ...

May 7, 20233 min read

Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস

সবার প্রথমে আমাদের একটা Directory বানাতে হবে। আপনার Project এর নাম দিয়ে একটি Directory বানিয়ে ফেলুন। এরপর যেকোনো একটা Terminal ব্যবহার করে এই Directory তে ঢুকুন। npm install -D tailwindcss autoprefixer vite এই কমান্ড Terminal-এ দিবো। এক্সট্রা হিসেবে...

Apr 3, 20232 min read
Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস
S

Shikhun Blog

96 posts