جاوا اسکرپٹ ریکارڈز کی وضاحت کریں؟

Jawa Askrp Rykar Z Ky Wdaht Kry



جاوا اسکرپٹ غیر قدیم ڈیٹا کی قسم کے ساتھ آتا ہے ' چیز جو پرائمیٹو (بلٹ ان) ڈیٹا کی اقسام کی مدد سے اخذ کیا گیا ہے۔ 'آبجیکٹ' جاوا اسکرپٹ ممبران تک رسائی کے لیے ایک مثال کے طور پر کام کرتا ہے۔ یہ مخصوص کام انجام دینے کے لیے جاوا اسکرپٹ فنکشن کو استعمال کرنے کے لیے استعمال کیا جاتا ہے جو کہ قدیم ڈیٹا کی قسمیں نہیں کر سکتیں۔ تاہم، اس ڈیٹا کی قسم کا ایک نقصان یہ ہے کہ یہ موازنہ کا عمل اپنی شناخت کی بنیاد پر کرتا ہے، نہ کہ مواد کی بنیاد پر۔ اس مسئلے کو حل کرنے کے لیے جاوا اسکرپٹ نئی قسم کی ڈیٹا پیش کرتا ہے۔ ریکارڈز جیسا کہ یہ اپنے مشمولات کی بنیاد پر سختی سے موازنہ کرتا ہے، شناخت کی نہیں۔

یہ گائیڈ JavaScript Records کی وضاحت کرتا ہے۔







'ریکارڈز' کیا ہیں؟

جاوا اسکرپٹ ' ریکارڈز ” بلٹ ان کی طرح ایک نئی قدیم قسم (سٹرنگز، نمبرز، سمبلز) ہے۔ . فرق صرف یہ ہے کہ 'ریکارڈز' خالصتاً ناقابل تغیر ہوتے ہیں یعنی ان کی چابیاں شروع ہونے کے بعد ان کی قدر کو تبدیل نہیں کیا جا سکتا۔



نحو



کا نحو ' ریکارڈ 'ایک 'آبجیکٹ' سے مماثل ہے، لیکن اس کے لیے ' # گھوبگھرالی منحنی خطوط وحدانی سے پہلے (ہیش)' کی علامت جو اسے 'ریکارڈ' کے طور پر ظاہر کرتی ہے:





const recoredName = #{
/*
key: قدر
/*
}


آئیے ایک نیا ریکارڈ بنانے کے لیے اوپر بیان کردہ نحو کا استعمال کریں۔

ریکارڈ کیسے بنائیں؟

ریکارڈ بنانے کے لیے، کرلی منحنی خطوط وحدانی کے شروع میں '#(ہیش)' علامت کی وضاحت کریں جیسا کہ نیچے کوڈ بلاک میں دکھایا گیا ہے۔



const person = #{
fname: 'یا' ،
نام: 'عثمان' ،
عمر: اکیس ،
}
console.log ( person.fname )
console.log ( person.lname )
console.log ( شخص.عمر )


مندرجہ بالا کوڈ بلاک میں:

    • ' شخص ' سے مراد ایک نیا 'ریکارڈ' ہے جس میں درج ذیل کلیدیں ہیں 'fname'، 'lname'، اور 'عمر'۔
    • اگلا، ' تسلی. لاگ() ' طریقہ بالترتیب 'شخص' کلیدی اقدار کو ایک ایک کرکے دکھاتا ہے۔

نوٹ: صارف 'ریکارڈز' کے مواد کو ایک لائن میں اس طرح بیان کر سکتا ہے:

const person = #{fname: 'علی'، نام: 'عثمان'، عمر: 21}


آؤٹ پٹ


یہ دیکھا جا سکتا ہے کہ آؤٹ پٹ تخلیق کردہ ریکارڈ 'شخص' کی تمام کلیدی اقدار کو ظاہر کرتا ہے۔

ریکارڈز کی حد

'ریکارڈ' اپنی کلید کے طور پر 'Array' اور 'Object' کو قبول نہیں کرتا ہے۔ اگر صارف انہیں کسی ریکارڈ میں منتقل کرتا ہے تو مرتب کرنے والا ایک ' ٹائپ ایرر ' مندرجہ ذیل کوڈ بلاک اسے عملی طور پر ظاہر کرتا ہے:

const newRecord = #{
arr: [ 'HTML' ، 'سی ایس ایس' ، 'جاوا اسکرپٹ' ]
}
console.log ( شخص.آرر )


مندرجہ بالا کوڈ لائنوں میں:

    • ' نیا ریکارڈ اپنی کلید کے طور پر 'arr' نامی ایک صف کو شروع کرتا ہے۔
    • اگلا، ' تسلی. لاگ() ' نئے ریکارڈ' میں بیان کردہ 'arr' کلیدی قدر دکھاتا ہے۔

آؤٹ پٹ


کنسول 'TypeError (غیر متوقع قسم کا گزرنا)' دکھاتا ہے کیونکہ 'ریکارڈز' کسی صف کو کلید کے طور پر قبول نہیں کرتا ہے۔

مثالوں کا استعمال کرتے ہوئے جاوا اسکرپٹ ریکارڈز کو سمجھنا

یہ سیکشن دی گئی مثالوں کی مدد سے عملی طور پر 'ریکارڈز' کے استعمال پر مشتمل ہے۔

آئیے پہلی مثال کے ساتھ شروع کریں۔

مثال 1: ریکارڈ گہرے طور پر ناقابل تغیر ہیں۔

جاوا اسکرپٹ ' ریکارڈز گہرائی سے ناقابل تغیر قدیم قسمیں ہیں۔ 'گہری طور پر ناقابل تغیر' کا مطلب ہے کہ ریکارڈ کی تمام کلیدی اقدار کو سیٹ ہونے کے بعد کسی بھی سطح پر تبدیل یا تبدیل نہیں کیا جا سکتا۔ 'ابتدائی' قسمیں JavaScript کے تمام بنیادی ڈیٹا کی اقسام کو ظاہر کرتی ہیں جیسے کہ سٹرنگ، نمبر، null، undefined، اور بہت سی دوسری۔

مندرجہ ذیل کوڈ بلاک بیان کردہ تصور کو عملی طور پر ظاہر کرتا ہے:

const myRecord = #{
نام: 'یا' ،
عمر: اکیس ،
}
myRecord.name= 'ہارون'


مندرجہ بالا کوڈ بلاک میں، ' میرا ریکارڈ ' چابی ' نام ' قدر کو اس کی شروعات کے بعد تبدیل کیا جاتا ہے۔

آؤٹ پٹ


یہ دیکھا جا سکتا ہے کہ کمپائلر 'newRecord' کلیدی قدر میں ترمیم کرنے پر 'TypeError' دکھاتا ہے۔

مثال 2: ریکارڈ تقابلی ہوتے ہیں۔

'ریکارڈز' کا سب سے بڑا فائدہ یہ ہے کہ ان کا موازنہ ان کی اقدار کی بنیاد پر کیا جاتا ہے، شناخت کی نہیں۔ جبکہ 'آبجیکٹ' کا موازنہ ان کی شناخت کے مطابق ہوتا ہے، اقدار کے نہیں۔ اگر دو ریکارڈز کی قدریں برابر ہیں تو کمپائلر صحیح کو بازیافت کرتا ہے۔

آئیے کوڈ کی دی گئی لائنوں کی مدد سے عملی طور پر دیکھتے ہیں:

const myRecord = #{
نام: 'یا' ،
عمر: اکیس ،
}
console.log ( میرا ریکارڈ === #{
نام: 'یا' ،
عمر: اکیس ،
} ) ;


یہاں، مندرجہ بالا کوڈ کا ٹکڑا دو ریکارڈ بناتا ہے جن کا موازنہ 'کی مدد سے کیا جاتا ہے۔ سخت مساوات (===)' آپریٹر۔

آؤٹ پٹ


آؤٹ پٹ ایک واپس کرتا ہے ' سچ ہے بولین ویلیو جس کا مطلب ہے کہ مخصوص آپریٹرز یعنی 'ریکارڈز' برابر ہیں۔

مثال 3: ریکارڈ کو آبجیکٹ میں تبدیل کریں۔

جاوا اسکرپٹ 'ریکارڈز' کو 'آبجیکٹ' کنسٹرکٹر کی مدد سے 'آبجیکٹ' ڈیٹا ٹائپ میں بھی تبدیل کیا جا سکتا ہے۔ یہاں اس کا عملی نفاذ ہے:

دو myRecord = #{ ایک: 1، دو: 2 }
console.log ( چیز ( میرا ریکارڈ ) )
console.log ( مائی ریکارڈ کی قسم )


کوڈ کی اوپر کی لائنوں میں:

    • پہلہ ' lconsole.and() ' کا طریقہ 'آبجیکٹ' کنسٹرکٹر کا استعمال کرتا ہے میرا ریکارڈ 'کسی' چیز میں۔
    • دوسرا 'console.log()' طریقہ استعمال کرتا ہے ' کی قسم 'مائی ریکارڈ' کی قسم چیک کرنے کے لیے کلیدی لفظ۔

آؤٹ پٹ


آؤٹ پٹ تبدیل شدہ 'نیا ریکارڈ' کو بطور ' دکھاتا ہے چیز ' قسم جو اس بات کی تصدیق کرتی ہے کہ 'نیا ریکارڈ' کامیابی کے ساتھ 'آبجیکٹ' میں تبدیل ہو گیا ہے۔

مثال 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' کی تمام کلیدوں کو صف کی شکل میں دکھاتا ہے اور کلیدی قدر کے جوڑے کی شکل میں ان کے اشاریہ جات کے ساتھ بھی۔

نتیجہ

جاوا اسکرپٹ ' ریکارڈز ' اعلی درجے کی ڈیٹا کی قسم ہیں جو گہرائی سے ناقابل تغیر ہے۔ یہ ایک 'آبجیکٹ' کی طرح کام کرتا ہے لیکن بنیادی فرق یہ ہے کہ اس کی قدر کو سیٹ ہونے کے بعد تبدیل یا اپ ڈیٹ کیا جا سکتا ہے۔ اعلان کے لیے گھوبگھرالی منحنی خطوط وحدانی سے پہلے '#(ہیش)' علامت کی ضرورت ہوتی ہے ورنہ یہ ایک شے کے طور پر کام کرتا ہے۔ اس گائیڈ نے جاوا اسکرپٹ ریکارڈز ڈیٹا کی قسم کی مختصر وضاحت کی ہے۔