ஜாவாஸ்கிரிப்ட் பதிவுகளை விளக்குக?

Javaskiript Pativukalai Vilakkuka



ஜாவாஸ்கிரிப்ட் பழமையான தரவு வகையுடன் வருகிறது ' பொருள் ” இது பழமையான (உள்ளமைக்கப்பட்ட) தரவு வகைகளின் உதவியுடன் பெறப்பட்டது. 'ஆப்ஜெக்ட்' ஜாவாஸ்கிரிப்ட் உறுப்பினர்களை அணுகுவதற்கான ஒரு உதாரணமாக செயல்படுகிறது. பழமையான தரவு வகைகளால் செய்ய முடியாத குறிப்பிட்ட பணியைச் செய்ய ஜாவாஸ்கிரிப்ட் செயல்பாட்டை செயல்படுத்த இது பயன்படுகிறது. இருப்பினும், இந்த தரவு வகையின் ஒரு குறைபாடு என்னவென்றால், இது உள்ளடக்கத்தை அல்ல, அதன் அடையாளத்தின் அடிப்படையில் ஒப்பீட்டு செயல்பாட்டைச் செய்கிறது. இந்த சிக்கலை தீர்க்க ஜாவாஸ்கிரிப்ட் புதிய தரவு வகையை வழங்குகிறது ' பதிவுகள் ” என அது கண்டிப்பாக அதன் உள்ளடக்கத்தின் அடிப்படையில் ஒப்பிடுகிறது, அடையாளத்தை அல்ல.

இந்த வழிகாட்டி ஜாவாஸ்கிரிப்ட் பதிவுகளை விளக்குகிறது.







'பதிவுகள்' என்றால் என்ன?

ஜாவாஸ்கிரிப்ட்” பதிவுகள் ” என்பது ஒரு புதிய பழமையான வகை (சரங்கள், எண்கள், குறியீடுகள்) உள்ளமைக்கப்பட்டதைப் போன்றது . ஒரே ஒரு வித்தியாசம் என்னவென்றால், 'பதிவுகள்' முற்றிலும் மாறாதவை, அதாவது அவை துவக்கப்பட்டவுடன் அவற்றின் விசைகளின் மதிப்பை மாற்ற முடியாது.



தொடரியல்



தொடரியல் ' பதிவு ” என்பது ஒரு “பொருளுக்கு” ​​ஒத்ததாக இருக்கிறது, ஆனால் அதற்கு ஒரு “ தேவைப்படுகிறது # சுருள் பிரேஸ்களுக்கு முன் (ஹாஷ்)' சின்னம், அதை 'பதிவு' எனக் குறிக்கும்:





பதிவு செய்யப்பட்ட பெயர் = #{
/*
முக்கிய: மதிப்பு
/*
}


புதிய பதிவை உருவாக்க மேலே கூறப்பட்ட தொடரியல் பயன்படுத்துவோம்.

பதிவுகளை உருவாக்குவது எப்படி?

ஒரு பதிவை உருவாக்க, கீழே உள்ள குறியீடு தொகுதியில் காட்டப்பட்டுள்ளபடி சுருள் பிரேஸ்களின் தொடக்கத்தில் “#(ஹாஷ்)” குறியீட்டைக் குறிப்பிடவும்:



நிலையான நபர் = #{
பெயர்: 'அல்லது' ,
பெயர்: 'உஸ்மான்' ,
வயது: இருபத்து ஒன்று ,
}
console.log ( நபர்.பெயர் )
console.log ( நபர்.பெயர் )
console.log ( நபர்.வயது )


மேலே உள்ள குறியீடு தொகுதியில்:

    • ' நபர் ” என்பது பின்வரும் “fname”, “lname” மற்றும் “வயது” விசைகளைக் கொண்ட புதிய “பதிவை” குறிக்கிறது.
    • அடுத்து, ' பணியகம். பதிவு() ” முறையே “நபர்” முக்கிய மதிப்புகளை ஒவ்வொன்றாகக் காட்டுகிறது.

குறிப்பு: பயனர் “பதிவுகள்” உள்ளடக்கத்தையும் இது போன்ற ஒரு வரியில் குறிப்பிடலாம்:

நிலையான நபர் = #{பெயர்: 'அலி', பெயர்: 'உஸ்மான்', வயது: 21}


வெளியீடு


உருவாக்கப்பட்ட பதிவு 'நபர்' இன் அனைத்து முக்கிய மதிப்புகளையும் வெளியீடு காட்டுகிறது என்பதைக் காணலாம்.

பதிவுகளின் வரம்பு

'பதிவு' ஒரு 'வரிசை' மற்றும் ஒரு 'பொருளை' அதன் திறவுகோலாக ஏற்கவில்லை. பயனர் அவற்றை ஒரு பதிவுக்கு அனுப்பினால், கம்பைலர் ' தட்டச்சுப் பிழை ”. பின்வரும் குறியீடு தொகுதி அதை நடைமுறையில் காட்டுகிறது:

const newRecord = #{
arr: [ 'HTML' , 'சிஎஸ்எஸ்' , 'ஜாவாஸ்கிரிப்ட்' ]
}
console.log ( நபர்.arr )


மேலே உள்ள குறியீடு வரிகளில்:

    • ' புதிய பதிவு ”அதன் விசையாக “arr” என்ற வரிசையை துவக்குகிறது.
    • அடுத்து, ' பணியகம். பதிவு() 'புதிய ரெக்கார்டில்' குறிப்பிடப்பட்டுள்ள 'arr' முக்கிய மதிப்பைக் காட்டுகிறது.

வெளியீடு


கன்சோல் 'TypeError(எதிர்பாராத வகையைக் கடந்து செல்கிறது)' என்பதைக் காட்டுகிறது, ஏனெனில் 'பதிவுகள்' ஒரு வரிசையை விசையாக ஏற்காது.

எடுத்துக்காட்டுகளைப் பயன்படுத்தி ஜாவாஸ்கிரிப்ட் பதிவுகளைப் புரிந்துகொள்வது

கொடுக்கப்பட்ட எடுத்துக்காட்டுகளின் உதவியுடன் நடைமுறையில் 'பதிவுகளின்' பயன்பாடுகளை இந்தப் பகுதி கொண்டுள்ளது.

முதல் உதாரணத்துடன் ஆரம்பிக்கலாம்.

எடுத்துக்காட்டு 1: பதிவுகள் ஆழமாக மாறாதவை

ஜாவாஸ்கிரிப்ட்” பதிவுகள் ” ஆழமாக மாறாத பழமையான வகைகள். 'ஆழமாக மாறாதது' என்பது ஒரு பதிவின் அனைத்து முக்கிய மதிப்புகள் அமைக்கப்பட்டவுடன் எந்த நிலையிலும் மாற்றவோ அல்லது மாற்றவோ முடியாது. 'பழமையான' வகைகள் சரம், எண், பூஜ்ய, வரையறுக்கப்படாத மற்றும் பல போன்ற அனைத்து அடிப்படை ஜாவாஸ்கிரிப்ட் தரவு வகைகளையும் குறிக்கின்றன.

பின்வரும் குறியீடு தொகுதி நடைமுறையில் கூறப்பட்ட கருத்தை காட்டுகிறது:

const myRecord = #{
பெயர்: 'அல்லது' ,
வயது: இருபத்து ஒன்று ,
}
myRecord.name= 'ஹாரூன்'


மேலே உள்ள குறியீடு தொகுதியில், ' என் பதிவு 'விசை' பெயர் ” மதிப்பு அதன் துவக்கத்திற்குப் பிறகு மாற்றியமைக்கப்படுகிறது.

வெளியீடு


'புதிய பதிவு' முக்கிய மதிப்பை மாற்றியமைப்பதில் 'TypeError' என்பதை கம்பைலர் காட்டுவதை அவதானிக்கலாம்.

எடுத்துக்காட்டு 2: பதிவுகள் ஒப்பீட்டு

'பதிவுகளின்' முக்கிய நன்மை என்னவென்றால், அவை அடையாளத்தின் அடிப்படையில் அல்ல, அவற்றின் மதிப்புகளின் அடிப்படையில் ஒப்பிடப்படுகின்றன. அதேசமயம் 'பொருள்கள்' அவற்றின் அடையாளங்களின்படி ஒப்பிடுகின்றன, மதிப்புகள் அல்ல. இரண்டு பதிவுகளின் மதிப்புகள் சமமாக இருந்தால், கம்பைலர் உண்மையைப் பெறுகிறது.

கொடுக்கப்பட்ட குறியீட்டு வரிகளின் உதவியுடன் நடைமுறையில் அதைப் பார்ப்போம்:

const myRecord = #{
பெயர்: 'அல்லது' ,
வயது: இருபத்து ஒன்று ,
}
console.log ( myRecord === #{
பெயர்: 'அல்லது' ,
வயது: இருபத்து ஒன்று ,
} ) ;


இங்கே, மேலே உள்ள குறியீடு துணுக்கு '' இன் உதவியுடன் ஒப்பிடப்படும் இரண்டு பதிவுகளை உருவாக்குகிறது கடுமையான சமத்துவம் (===)” ஆபரேட்டர்.

வெளியீடு


வெளியீடு ' உண்மை ”பூலியன் மதிப்பு அதாவது குறிப்பிடப்பட்ட ஆபரேட்டர்கள் அதாவது “பதிவுகள்” சமம்.

எடுத்துக்காட்டு 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' இன் அனைத்து விசைகளையும் வரிசை வடிவத்தில் காட்டுகிறது மற்றும் அவற்றின் குறியீடுகளுடன் ஒரு முக்கிய மதிப்பு ஜோடி வடிவத்தில் உள்ளது.

முடிவுரை

ஜாவாஸ்கிரிப்ட்” பதிவுகள் ” என்பது ஆழமாக மாறாத மேம்பட்ட நிலை தரவு வகையாகும். இது ஒரு 'பொருள்' போலவே செயல்படுகிறது, ஆனால் முக்கிய வேறுபாடு என்னவென்றால், அதன் மதிப்பை அமைத்தவுடன் மாற்றலாம் அல்லது புதுப்பிக்கலாம். அறிவிப்புக்கான சுருள் பிரேஸ்களுக்கு முன் அதற்கு “#(ஹாஷ்)” சின்னம் தேவை இல்லையெனில் அது ஒரு பொருளாகச் செயல்படும். இந்த வழிகாட்டி ஜாவாஸ்கிரிப்ட் ரெக்கார்ட்ஸ் தரவு வகையை சுருக்கமாக விளக்கியது.