মূল কন্টেন্টে যান
মডিউল 3 · 2-এর পাঠ 4কোর্সে 10/32~10 min
মডিউল পাঠ (2/4)

বস্তু: মূল-মান মানচিত্র

JS-এ একটি অবজেক্ট হল কী → মান জোড়ার একটি ক্রমবিহীন সংগ্রহ। কীগুলি হল স্ট্রিং (বা Symbol), মানগুলি যেকোনো কিছু: সংখ্যা, স্ট্রিং, অ্যারে, অন্যান্য বস্তু, ফাংশন। এটি সবচেয়ে বেশি ব্যবহৃত ডেটা স্ট্রাকচার ভাষা: আপনার ডোমেনের প্রতিটি "রেকর্ড" সাধারণত একটি বস্তু হবে।

JS
const utente = {
  nome: 'Anna',
  eta: 28,
  attivo: true,
  ruoli: ['admin', 'editor'],
};

পড়ার বৈশিষ্ট্য: ডট বনাম বন্ধনী

দুটি সমতুল্য স্বরলিপি আছে:

JS
utente.nome; // 'Anna'    (dot — the normal form)
utente['nome']; // 'Anna'    (bracket — equivalent)

// Brackets are MANDATORY when:
// 1) the key is not a valid identifier
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale;      // syntax error

// 2) the key is computed (variable/expression)
const campo = 'eta';
utente[campo]; // 28

একটি অনুপস্থিত সম্পত্তি undefined ফেরত দেয়, ত্রুটি ছাড়াই:

JS
utente.telefono; // undefined

যোগ করা, পরিবর্তন করা, অপসারণ করা

JS
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the property

delete একটি কীওয়ার্ড। এটি একটি বিরল ব্যবহারের ক্ষেত্রে পরিণত হবে: বেশিরভাগই যখন আপনি সেই কী ছাড়া একটি নতুন বস্তু তৈরি করতে চাইবেন (আমরা এটি দেখতে পাব ছড়িয়ে দিয়ে)।

শর্টহ্যান্ড: পরিবর্তনশীলের মতো কী নাম দেওয়া হয়েছে

যখন কী নামটি পরিবর্তনশীল নামের সাথে মিলে যায়, আপনি অনুলিপিটি বাদ দিতে পারেন:

JS
const nome = 'Anna';
const eta = 28;

const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalent

একটি সম্পত্তি উপস্থিতি পরীক্ষা করা হচ্ছে

তিনটি বিকল্প, পছন্দ অনুসারে:

JS
'nome' in utente; // true   ← in operator
utente.nome !== undefined; // true   ← works almost always
Object.hasOwn(utente, 'nome'); // true   ← modern, safe

চেষ্টা করে দেখুন

ব্যায়াম#js.m3.l2.e1
প্রচেষ্টা: 0লোড হচ্ছে...

অবজেক্ট ব্যবহারকারী তৈরি করুন = { নাম: 'সারা', বয়স: 22 }, তারপর 'সক্রিয়' বৈশিষ্ট্যটি সত্যে যোগ করুন এবং অবজেক্টটিকে শেষ অভিব্যক্তি হিসাবে ফিরিয়ে দিন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

আপনি ডট নোটেশন সহ ফ্যাক্টের পরে বৈশিষ্ট্য যোগ করতে পারেন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#js.m3.l2.e2
প্রচেষ্টা: 0লোড হচ্ছে...

প্রদত্ত `product = { কোড: 'A1', price: 9.9 }` এবং স্ট্রিং `key = 'price'`, বন্ধনী স্বরলিপি ব্যবহার করে মূল্য ফেরত দিন (শেষ অভিব্যক্তিটি অবশ্যই 9.9 তে মূল্যায়ন করতে হবে)।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

বন্ধনী দিয়ে আপনি কী হিসাবে একটি পরিবর্তনশীল পাস করতে পারেন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ