Module ৩১ এ আমরা যাকিছু শিখেছি
(Advanced) ES6 , Class , Inheritance
একটা Object এর মান কিভাবে একটা একটা করে আলাদা আলাদা variable এর মধ্যে স্টোর করতে পারি ? (ES6 এর মাধ্যমে করতে হবে )
const fish = { name: "hilsa", id: 102, location: "joypurhat", price: 1299 }; const { name, id, location, price } = fish; //বোল্ড করা লেখা এক একটা variable console.log(name, id, location, price); |
আমরা চাইলে কোণ একটা Object এর Property এর ভেলুও কিন্তু একটা Object হতে পারে !
const company = { name: "grameenphone", ceo: { name: "rashedul", id: 01, food: "rice" }, web: { work: "web development", employee: 22, framework: "react", tech: { first: "html", second: "css", third: "JS", }, }, };
সিম্পল রাস্তা (ভ্যানিলা JS)
ES6 (destructuring) এর মাধ্যমে
|
আমরা Object Property এর নাম আর variable এর নাম সেম রাখতে পারি ।
const obj = { a: 10, b: 20, c: 30, d: 40, e: 50 }; const { a, e, c } = obj; console.log(a, e, c); |
এতক্ষণ আমরা Obejct নিয়ে ঘাটাঘাটি করলাম এখন Array নিয়ে করে ফেলি
const [a, b] = ["rashedul", 20]; console.log(a, b); |
যদি আমরা একটা property কে অ্যাক্সেস করতে চাই কিন্তু সেটা Object এর ভেতরে ডিফাইন করা নাই। তাহলে আমরা একটা ERROR খেয়ে যাব । তাকে Handle করব কিভাবে ?
console.log(company?.web?.third); console.log(company?.backed?.web?.third); |
আমরা যদি একটা Arr এর ভিতরের element গুলোকে এক এক নিয়ে সেগুলোকে ২ দ্বারা গুন করে আউটপুট দিতে চাই তাহলে কি করতে পারি ? (আমরা Loop চালাতে পারি । তাই না ? তো আজকে আমরা আর Loop চালাবো না আজকে map() ফাংশন এর ব্যাবহার দেখব )
const arr = [4, 6, 8, 10]; const output = []; const dubbleIt = (num) => num * 2; console.log(arr.map(dubbleIt)); //console.log(arr.map((num) => num * 2));
|
তুমি কিভাবে map() ব্যাবহার করে একটা Array এর ভেতরের নাম ভা এলেমেন্টগুলোর Length বের করতে পার ?
const friends = ["rashedul", "islam", "shihab", "taki", "rumman"]; const fLength = friends.map((f) => f.length); console.log(fLength); |
তোমাকে যদি একটা Array of Object দেওয়া হয় এবং Price ও Name গুলোকে Array এর মধ্যে ষ্টোর করতে বলা হয় তাহলে কি করবা ?
const products = [ { name: "water bottle", price: 50, color: "yellow" }, { name: "mobile", price: 15000, color: "black" }, { name: "smart watch", price: 3000, color: "black" }, { name: "sticky", price: 30, color: "pink" }, { name: "water glass", price: 3, color: "white" }, ]; const ProductName = products.map((product) => product.name); const ProductPrice = products.map((product) => product.price); console.log(ProductName, ProductPrice); |
আমরা যে ProductName , ProductPrice গুলো নিয়ে একটা Array এর ভিতরে রাখছি । কারণ আমরা এগুলোকে নিয়ে পরে কিছু একটা করব । অর্থাৎ আমরা সেগুলোকে return করেছি । আর যদি আমাদের কিছু return না করার দরকার পরে তাহলে আমরা forEach ব্যাবহার করব ।
const ProductPrice = products.forEach((product) => console.log(product)); // forEach বেশি কাজে লাগে না । |
filter() এর কাজ কি ? (filter() এর ভিতরে আমরা শর্ত দিতে পারি যেমন If ,else if এ দিতাম)
const arr = [5, 2, 654, 51456, 46, 5436, 156, 1456]; const arrFilter = arr.filter((a) => a > 500); console.log(arrFilter);
|
find() এর কাজ কি? (find() এর কাজ ঠিক Filter() এর মতই । কিন্তু filter() Array return করত আর find() একটা এলেমেন্ট return করবে । যদি সেখানে একই নামে বেশি element থাকে তবে প্রথমটা return করবে । আর না থাকলে Undefined দেখাবে । যেখানে filter() করলে একটা শর্তের সাথে জাদেরকে মিল পাবে সব গুলোকে return করত । আর কিছুই না পাইলে একটা ফাঁকা Array return করত । )
const whiteItem = products.find((product) => product.color == "white"); console.log(whiteItem); |
Class কিভাবে ব্যাবহার করতে হয় ? এবং কিভাবে একটা dynamic রেজাল্ট return করাতে হয় ? (Note: class Name এর প্রথম word বড় হাতের দিতে হয় )
class Support { name; role; address; time; constructor(name, role, address, time) { this.name = name; this.role = role; this.address = address;this.time = time; } startSession() { console.log( this.name,"he is a",this.role,"started a session at",this.time);} } const rashedul = new Support("rashedul", "web developer", "joypurhat", "10:50"); rashedul.startSession(); |
আমরা support এর জন্য একটা ক্লাস (class)তৈরি করে ফেললাম । কিন্তু কাল যদি আরো ৪,৫,১০ তা class তৈরি করতে হয় তাহলে কি বার বার code duplicate করবে ? অবশ্যয় না । এর জন্য তুমি একটা common class তৈরি করে নিবে ।
|
আর আমার github এ যাইতে চাইলে এই লিঙ্কে ক্লিক করুন
About
Md: Rashedul Islam Shihab Writer of this note Batch4 Social accounts |
Post a Comment