জাভাস্ক্রিপ্ট রেকর্ড ব্যাখ্যা?

Jabhaskripta Rekarda Byakhya



জাভাস্ক্রিপ্ট নন-প্রিমিটিভ ডেটা টাইপের সাথে আসে ' অবজেক্ট যা আদিম (বিল্ট-ইন) ডেটা প্রকারের সাহায্যে উদ্ভূত হয়। 'অবজেক্ট' জাভাস্ক্রিপ্ট সদস্যদের অ্যাক্সেস করার জন্য একটি উদাহরণ হিসাবে কাজ করে। এটি জাভাস্ক্রিপ্ট ফাংশন চালু করতে ব্যবহৃত হয় নির্দিষ্ট কাজটি সম্পাদন করার জন্য যা আদিম ডেটা প্রকারগুলি পারে না। যাইহোক, এই ডেটা টাইপের একটি অসুবিধা হল যে এটি তার পরিচয়ের ভিত্তিতে তুলনা অপারেশন করে, বিষয়বস্তু নয়। এই সমস্যা সমাধানের জন্য জাভাস্ক্রিপ্ট নতুন ডেটা টাইপ অফার করে “ রেকর্ডস ” যেহেতু এটি কঠোরভাবে তার বিষয়বস্তুর ভিত্তিতে তুলনা করে, পরিচয় নয়।

এই গাইড জাভাস্ক্রিপ্ট রেকর্ড ব্যাখ্যা করে।







'রেকর্ড' কি?

জাভাস্ক্রিপ্ট ' রেকর্ডস ” একটি নতুন আদিম প্রকার (স্ট্রিং, সংখ্যা, চিহ্ন) বিল্ট-ইন অনুরূপ . একমাত্র পার্থক্য হল 'রেকর্ডগুলি' সম্পূর্ণরূপে অপরিবর্তনীয় অর্থাৎ তাদের কীগুলির মান একবার শুরু করার পরে পরিবর্তন করা যায় না।



বাক্য গঠন



এর সিনট্যাক্স রেকর্ড ' একটি 'বস্তু' এর সাথে অভিন্ন, তবে এটির জন্য একটি প্রয়োজন ' # কোঁকড়া ধনুর্বন্ধনীর আগে (হ্যাশ)' চিহ্ন যা এটিকে 'রেকর্ড' হিসাবে নির্দেশ করে:





const recoredName = #{
/*
প্রকৃত মূল্য
/*
}


আসুন একটি নতুন রেকর্ড তৈরি করতে উপরে বর্ণিত সিনট্যাক্স ব্যবহার করি।

কিভাবে রেকর্ড তৈরি করবেন?

একটি রেকর্ড তৈরি করতে, নীচের কোড ব্লকে দেখানো কোঁকড়া ধনুর্বন্ধনীর শুরুতে '#(হ্যাশ)' চিহ্নটি নির্দিষ্ট করুন:



const person = #{
fname: 'বা' ,
নাম: 'উসমান' ,
বয়স: একুশ ,
}
console.log ( person.fname )
console.log ( person.lname )
console.log ( ব্যক্তি.বয়স )


উপরের কোড ব্লকে:

    • দ্য ' ব্যক্তি ' একটি নতুন 'রেকর্ড' বোঝায় যেখানে নিম্নলিখিত কী 'fname', 'lname', এবং 'age' আছে।
    • পরবর্তী, ' কনসোল লগ() ' পদ্ধতিটি যথাক্রমে একের পর এক 'ব্যক্তি' কী মান প্রদর্শন করে।

বিঃদ্রঃ: ব্যবহারকারী এইভাবে একটি লাইনে 'রেকর্ড' বিষয়বস্তু নির্দিষ্ট করতে পারেন:

const person = #{ফনাম: 'আলি', নাম: 'উসমান', বয়স: ২১}


আউটপুট


এটি দেখা যায় যে আউটপুট তৈরি করা রেকর্ড 'ব্যক্তি' এর সমস্ত মূল মান প্রদর্শন করে।

রেকর্ডের সীমাবদ্ধতা

'রেকর্ড' তার কী হিসাবে একটি 'অ্যারে' এবং একটি 'অবজেক্ট' গ্রহণ করে না। ব্যবহারকারী যদি সেগুলিকে একটি রেকর্ডে পাস করে তাহলে কম্পাইলার একটি 'উত্পন্ন করে টাইপ ত্রুটি ” নিম্নলিখিত কোড ব্লক এটি ব্যবহারিকভাবে দেখায়:

const newRecord = #{
arr: [ 'এইচটিএমএল' , 'সিএসএস' , 'জাভাস্ক্রিপ্ট' ]
}
console.log ( ব্যক্তি.আরআর )


উপরের কোড লাইনে:

    • দ্য ' নতুন রেকর্ড ' এর কী হিসাবে 'arr' নামের একটি অ্যারে শুরু করে।
    • পরবর্তী, ' কনসোল লগ() ' নতুন রেকর্ড'-এ নির্দিষ্ট করা 'arr' কী মান প্রদর্শন করে।

আউটপুট


কনসোল 'TypeError(অপ্রত্যাশিত টাইপ পাস করা)' প্রদর্শন করে কারণ 'রেকর্ডস' একটি অ্যারেকে কী হিসাবে গ্রহণ করে না।

উদাহরণ ব্যবহার করে জাভাস্ক্রিপ্ট রেকর্ড বোঝা

এই বিভাগে প্রদত্ত উদাহরণের সাহায্যে ব্যবহারিকভাবে 'রেকর্ড' এর ব্যবহার রয়েছে।

প্রথম উদাহরণ দিয়ে শুরু করা যাক।

উদাহরণ 1: রেকর্ডগুলি গভীরভাবে অপরিবর্তনীয়

জাভাস্ক্রিপ্ট ' রেকর্ডস ” গভীরভাবে অপরিবর্তনীয় আদিম প্রকার। 'গভীরভাবে অপরিবর্তনীয়' মানে একটি রেকর্ডের সমস্ত মূল মানগুলি সেট করার পরে কোনও স্তরে পরিবর্তন বা পরিবর্তন করা যায় না। 'আদিম' প্রকারগুলি সমস্ত মৌলিক জাভাস্ক্রিপ্ট ডেটা প্রকার যেমন স্ট্রিং, সংখ্যা, নাল, অনির্ধারিত এবং আরও অনেকগুলিকে নির্দেশ করে৷

নিম্নলিখিত কোড ব্লক ব্যবহারিকভাবে বর্ণিত ধারণা দেখায়:

const myRecord = #{
নাম: 'বা' ,
বয়স: একুশ ,
}
myRecord.name= 'হারুন'


উপরের কোড ব্লকে, ' আমার রেকর্ড ' চাবি ' নাম ” মানটি আরম্ভ করার পর পরিবর্তন করা হয়।

আউটপুট


এটা লক্ষ্য করা যায় যে কম্পাইলার 'newRecord' কী মান পরিবর্তন করার সময় 'TypeError' দেখায়।

উদাহরণ 2: রেকর্ডগুলি তুলনামূলক

'রেকর্ডস' এর প্রধান সুবিধা হল তাদের তুলনা করা হয় তাদের মূল্যবোধের ভিত্তিতে, পরিচয়ের ভিত্তিতে নয়। যেখানে 'বস্তু' তাদের পরিচয় অনুসারে তুলনা করে, মান নয়। যদি দুটি রেকর্ডের মান সমান হয় তবে কম্পাইলারটি সত্য পুনরুদ্ধার করে।

আসুন কোডের প্রদত্ত লাইনগুলির সাহায্যে এটি ব্যবহারিকভাবে দেখি:

const myRecord = #{
নাম: 'বা' ,
বয়স: একুশ ,
}
console.log ( আমার রেকর্ড === #{
নাম: 'বা' ,
বয়স: একুশ ,
} ) ;


এখানে, উপরের কোড স্নিপেট দুটি রেকর্ড তৈরি করে যা 'এর সাহায্যে তুলনা করা হয় কঠোর সমতা (===)” অপারেটর।

আউটপুট


আউটপুট একটি ' সত্য ” বুলিয়ান মান যার মানে নির্দিষ্ট অপারেটর যেমন “রেকর্ড” সমান।

উদাহরণ 3: রেকর্ডকে অবজেক্টে রূপান্তর করুন

জাভাস্ক্রিপ্ট 'রেকর্ডস' কে 'অবজেক্ট' কনস্ট্রাক্টরের সাহায্যে 'অবজেক্ট' ডেটা টাইপে রূপান্তর করা যেতে পারে। এখানে এর ব্যবহারিক বাস্তবায়ন রয়েছে:

দিন myRecord = #{ এক: 1, দুই: 2 }
console.log ( অবজেক্ট ( আমার রেকর্ড ) )
console.log ( myRecord এর প্রকার )


কোডের উপরের লাইনগুলিতে:

    • প্রথম ' lconsole.and() ' পদ্ধতি রূপান্তর করতে 'অবজেক্ট' কনস্ট্রাক্টর ব্যবহার করে আমার রেকর্ড 'একটি' বস্তুতে।
    • দ্বিতীয় 'console.log()' পদ্ধতিটি ব্যবহার করে ' ধরণ কিওয়ার্ড 'myRecord' এর ধরন পরীক্ষা করতে।

আউটপুট


আউটপুট রূপান্তরিত 'newRecord' কে ' হিসাবে দেখায় অবজেক্ট ' টাইপ যা নিশ্চিত করে যে 'newRecord' সফলভাবে একটি 'অবজেক্ট' এ রূপান্তরিত হয়েছে।

উদাহরণ 4: অবজেক্টকে রেকর্ডে রূপান্তর করুন

ব্যবহারকারী 'অবজেক্ট' এর সাহায্যে তুলনা করার উদ্দেশ্যে 'রেকর্ড' এ রূপান্তর করতে পারেন। রেকর্ড() 'পদ্ধতি। আসুন এটি ব্যবহারিকভাবে করি:

দিন myObj = { এক: 1 , দুই: 2 }
দিন myRecord = রেকর্ড ( myObj )
console.log ( আমার রেকর্ড )


এখন, উপরের কোড স্নিপেট ব্যবহার করে ' রেকর্ড() প্রদত্ত 'myObj' অবজেক্টকে 'myRecord' এ রূপান্তর করার পদ্ধতি।

আউটপুট


আউটপুট রূপান্তরিত বস্তু 'myObj' কে সফলভাবে 'myRecord' সামগ্রীতে দেখায়।

উদাহরণ 5: বিদ্যমান রেকর্ড থেকে নতুন রেকর্ড তৈরি করুন

যেমন প্রথম উদাহরণে আলোচনা করা হয়েছে, 'রেকর্ডগুলি' অপরিবর্তনীয় অর্থাৎ তাদের মূল মানগুলি পরিবর্তন করা যায় না। যাইহোক, ব্যবহারকারী কিছু অন্যান্য মান যোগ করার পাশাপাশি বিদ্যমান 'রেকর্ড' থেকে একটি নতুন 'রেকর্ড' তৈরি করতে পারেন।

বিদ্যমান থেকে একটি নতুন রেকর্ড তৈরি করতে প্রদত্ত কোড স্নিপেট অনুসরণ করুন:

দিন পুরাতন রেকর্ড = #{A: 1, B: 2};
দিন নতুন রেকর্ড = #{ ...myRecord, C: 3, D:4}
console.log ( নতুন রেকর্ড )


উপরের জাভাস্ক্রিপ্ট কোডে:

    • দ্য ' পুরাতন রেকর্ড ” একটি বিদ্যমান রেকর্ড বোঝায় যেখানে দুটি মূল মান রয়েছে।
    • পরবর্তী ' নতুন রেকর্ড ' একটি নতুন রেকর্ডের সাথে মিলে যায় যা বিদ্যমান 'পুরানো রেকর্ড' এর সাহায্যে এবং নতুন নির্দিষ্ট কী মান যোগ করে তৈরি করা হয়।
    • সবশেষে, ' কনসোল লগ() 'নতুন রেকর্ড' নামে নতুন তৈরি রেকর্ড প্রদর্শন করে।

আউটপুট


আউটপুট নতুন তৈরি রেকর্ডের সমস্ত মূল মান প্রদর্শন করে।

উদাহরণ 6: 'Object.keys()' পদ্ধতি ব্যবহার করে রেকর্ড অ্যাক্সেস করুন

ব্যবহারকারী অন্তর্নির্মিত জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন ' কী() ' পদ্ধতি ' অবজেক্ট একটি রেকর্ডের কী অ্যাক্সেস করতে। এই পরিস্থিতিতে, এটি 'myRecord' কীগুলি অ্যাক্সেস করতে ব্যবহৃত হয়:

দিন myRecord = #{A: 1, B: 2};
দিন recordKeys = Object.keys ( আমার রেকর্ড ) ;
console.log ( রেকর্ড কী )


উপরের কোড স্নিপেট ব্যবহার করে ' Object.keys() 'myRecord'-এ উপস্থিত সমস্ত কী অ্যাক্সেস করার পদ্ধতি।

আউটপুট


আউটপুট অ্যারে বিন্যাসে 'myRecord' এর সমস্ত কী দেখায় এবং একটি কী-মান জোড়া বিন্যাসে তাদের সূচীগুলির সাথেও।

উপসংহার

জাভাস্ক্রিপ্ট ' রেকর্ড ” হল উন্নত স্তরের ডেটা টাইপ যা গভীরভাবে অপরিবর্তনীয়। এটি একটি 'অবজেক্ট' এর মতোই কাজ করে তবে মূল পার্থক্য হল এটি সেট করার পরে এর মান পরিবর্তন বা আপডেট করা যেতে পারে। ঘোষণার জন্য কোঁকড়া ধনুর্বন্ধনীর আগে এটি একটি '#(হ্যাশ)' চিহ্নের প্রয়োজন অন্যথায় এটি একটি বস্তু হিসাবে কাজ করে। এই গাইড সংক্ষিপ্তভাবে জাভাস্ক্রিপ্ট রেকর্ডস ডেটা টাইপ ব্যাখ্যা করেছে।