Ipaliwanag ang Mga Tala ng JavaScript?

Ipaliwanag Ang Mga Tala Ng Javascript



Ang JavaScript ay kasama ng hindi primitive na uri ng data ' Bagay ” na hinango sa tulong ng mga primitive(built-in) na uri ng data. Ang 'Object' ay gumaganap bilang isang halimbawa upang ma-access ang mga miyembro ng JavaScript. Ito ay ginagamit upang i-invoke ang JavaScript function upang maisagawa ang partikular na gawain na hindi magagawa ng mga primitive na uri ng data. Gayunpaman, ang isang kawalan ng ganitong uri ng data ay ang ginagawa nito ang paghahambing na operasyon batay sa pagkakakilanlan nito, hindi ang nilalaman. Upang malutas ang problemang ito, nag-aalok ang JavaScript ng bagong uri ng data ' Mga rekord ” dahil mahigpit itong naghahambing batay sa nilalaman nito, hindi pagkakakilanlan.

Ipinapaliwanag ng gabay na ito ang Mga Tala ng JavaScript.







Ano ang 'Mga Tala'?

JavaScript ' Mga rekord ” ay isang bagong primitive na uri(mga string, numero, simbolo) na katulad ng built-in . Ang pagkakaiba lang ay ang 'Mga Tala' ay puro hindi nababago ibig sabihin, ang halaga ng kanilang mga susi ay hindi na mababago kapag nasimulan na ang mga ito.



Syntax



Ang syntax ng ' Itala ' ay kapareho ng isang 'Bagay', ngunit nangangailangan ito ng ' # (hash)' na simbolo bago ang mga kulot na braces na tumutukoy dito bilang 'Record':





const recordedName = #{
/*
susi: halaga
/*
}


Gamitin natin ang nakasaad sa itaas na syntax para gumawa ng bagong record.

Paano Gumawa ng Mga Tala?

Upang lumikha ng isang tala, tukuyin ang simbolo na '#(hash)' sa simula ng mga kulot na brace tulad ng ipinapakita sa ibaba ng bloke ng code:



const tao = #{
fname: 'O' ,
Iname: 'Usman' ,
edad: dalawampu't isa ,
}
console.log ( tao.fname )
console.log ( tao.lname )
console.log ( tao.edad )


Sa itaas na bloke ng code:

    • Ang ' tao ” ay tumutukoy sa isang bagong “Record” na mayroong mga sumusunod na key na “fname”, “lname”, at “age”.
    • Susunod, ang ' console. log() Ipinapakita ng paraan ng 'tao' ang mga pangunahing halaga nang paisa-isa.

Tandaan: Maaari ding tukuyin ng user ang nilalamang 'Mga Tala' sa isang linya tulad nito:

const tao = #{fname: 'Ali', lname: 'Usman', edad: 21}


Output


Ito ay makikita na ang output ay nagpapakita ng lahat ng mga pangunahing halaga ng nilikha Record 'tao'.

Limitasyon ng mga Tala

Ang 'Record' ay hindi tumatanggap ng 'Array' at isang 'Object' bilang susi nito. Kung ipapasa sila ng user sa isang Record, bubuo ang compiler ng ' Pagkakamali sa pagtype ”. Ang sumusunod na bloke ng code ay halos nagpapakita nito:

const newRecord = #{
arr: [ 'HTML' , 'CSS' , 'JavaScript' ]
}
console.log ( tao.arr )


Sa mga linya ng code sa itaas:

    • Ang ' bagong tala 'nagsisimula ng array na pinangalanang 'arr' bilang susi nito.
    • Susunod, ang ' console. log() ” ay nagpapakita ng “arr” key value na tinukoy sa “newRecord”.

Output


Ang console ay nagpapakita ng 'TypeError(passing un-expected type)' dahil ang 'Records' ay hindi tumatanggap ng array bilang key.

Pag-unawa sa Mga Tala ng JavaScript Gamit ang Mga Halimbawa

Binubuo ng seksyong ito ang paggamit ng 'Mga Tala' sa tulong ng mga ibinigay na halimbawa.

Magsimula tayo sa unang halimbawa.

Halimbawa 1: Ang mga Tala ay Malalim na Hindi Nababago

JavaScript ' Mga rekord ” ay malalim na hindi nababagong primitive na mga uri. Ang ibig sabihin ng “deeply immutable” ay ang lahat ng mahahalagang halaga ng isang Record ay hindi maaaring baguhin o baguhin sa anumang antas kapag naitakda na ang mga ito. Ang mga 'primitive' na uri ay tumutukoy sa lahat ng pangunahing uri ng data ng JavaScript gaya ng string, numero, null, hindi natukoy, at marami pang iba.

Ang sumusunod na code block ay nagpapakita ng nakasaad na konsepto nang praktikal:

const myRecord = #{
pangalan: 'O' ,
edad: dalawampu't isa ,
}
myRecord.name= 'Haroon'


Sa bloke ng code sa itaas, ang ' myRecord 'susi' pangalan Ang halaga ng ” ay binago pagkatapos ng pagsisimula nito.

Output


Mapapansing ipinapakita ng compiler ang 'TypeError' sa pagbabago ng 'newRecord' key value.

Halimbawa 2: Ang mga Tala ay Pahambing

Ang pangunahing bentahe ng 'Mga Tala' ay ang mga ito ay inihambing sa batayan ng kanilang mga halaga, hindi pagkakakilanlan. Samantalang ang 'Mga Bagay' ay naghahambing ayon sa kanilang mga pagkakakilanlan, hindi mga halaga. Kung ang dalawang mga halaga ng Records ay pantay, ang compiler ay kukuha ng totoo.

Tingnan natin ito nang praktikal sa tulong ng mga ibinigay na linya ng code:

const myRecord = #{
pangalan: 'O' ,
edad: dalawampu't isa ,
}
console.log ( myRecord === #{
pangalan: 'O' ,
edad: dalawampu't isa ,
} ) ;


Dito, lumilikha ang snippet ng code sa itaas ng dalawang Records na inihahambing sa tulong ng ' mahigpit na pagkakapantay-pantay (===)” operator.

Output


Ang output ay nagbabalik ng ' totoo ” Boolean value na nangangahulugang ang mga tinukoy na operator i.e. “Mga Tala” ay pantay.

Halimbawa 3: I-convert ang Record sa Object

Ang 'Mga Tala' ng JavaScript ay maaari ding i-convert sa isang uri ng data na 'Bagay' sa tulong ng tagabuo ng 'Bagay'. Narito ang praktikal na pagpapatupad nito:

hayaan myRecord = #{ Isa: 1, Dalawa: 2 }
console.log ( Bagay ( myRecord ) )
console.log ( uri ng myRecord )


Sa mga linya ng code sa itaas:

    • Ang una ' lconsole.and() Ginagamit ng paraan ang 'Object' constructor upang i-convert ang ' myRecord ” sa isang “bagay.
    • Ang pangalawang 'console.log()' na paraan ay gumagamit ng ' uri ng ” keyword upang suriin ang uri ng “myRecord”.

Output


Ipinapakita ng output ang na-convert na 'newRecord' bilang isang ' Bagay ” uri na nagpapatunay na ang “newRecord” ay matagumpay na na-convert sa isang “object”.

Halimbawa 4: I-convert ang Bagay Upang Itala

Maaari ding i-convert ng user ang 'Object' sa 'Record' para sa mga layunin ng paghahambing sa tulong ng ' Record() ” paraan. Gawin natin ito nang praktikal:

hayaan myObj = { isa: 1 , Dalawa: 2 }
hayaan myRecord = Record ( myObj )
console.log ( myRecord )


Ngayon, ang snippet ng code sa itaas ay gumagamit ng “ Record() ” paraan para i-convert ang ibinigay na “myObj” na object sa “myRecord”.

Output


Ang output ay nagpapakita ng na-convert na object na 'myObj' sa 'myRecord' na nilalaman na matagumpay.

Halimbawa 5: Gumawa ng Bagong Mga Tala Mula sa Mga Umiiral na Tala

Gaya ng tinalakay sa unang halimbawa, ang 'Mga Tala' ay hindi nababago ibig sabihin, ang kanilang mga pangunahing halaga ay hindi mababago. Gayunpaman, ang user ay maaaring lumikha ng bagong 'Record' mula sa umiiral na 'Record' kasama ng pagdaragdag ng ilang iba pang mga halaga.

Sundin ang ibinigay na snippet ng code upang lumikha ng bagong record mula sa dati nang record:

hayaan oldRecord = #{A: 1, B: 2};
hayaan bagongRecord = #{ ...myRecord, C: 3, D:4}
console.log ( bagong tala )


Sa itaas na JavaScript code:

    • Ang ' oldRecord ” ay tumutukoy sa isang umiiral na talaan na mayroong dalawang pangunahing halaga.
    • Susunod ang ' bagong tala ” ay tumutugma sa isang bagong Record na nilikha sa tulong ng umiiral na 'oldRecord' at gayundin sa pamamagitan ng pagdaragdag ng mga bagong tinukoy na key value.
    • Panghuli, ang ' console. log() ” ay nagpapakita ng bagong likhang Record na pinangalanang “newRecord”.

Output


Ang output ay nagpapakita ng lahat ng mga pangunahing halaga ng bagong likhang Record.

Halimbawa 6: I-access ang Mga Talaan Gamit ang Paraan ng “Object.keys()”.

Maaaring gamitin ng user ang built-in na JavaScript ' mga susi() 'paraan ng' Bagay ” para ma-access ang mga susi ng isang Record. Sa sitwasyong ito, ginagamit ito upang ma-access ang mga key na 'myRecord':

hayaan myRecord = #{A: 1, B: 2};
hayaan recordKeys = Object.keys ( myRecord ) ;
console.log ( recordKeys )


Ginagamit ng snippet ng code sa itaas ang “ Object.keys() ” para ma-access ang lahat ng mga key na nasa “myRecord”.

Output


Ipinapakita ng output ang lahat ng mga key ng 'myRecord' sa array format at pati na rin ang kanilang mga index sa isang key-value pair format.

Konklusyon

JavaScript ' Mga rekord ” ay ang advanced na antas ng uri ng data na lubhang hindi nababago. Ito ay gumagana katulad ng isang 'Bagay' ngunit ang pangunahing pagkakaiba ay ang halaga nito ay maaaring mabago o ma-update kapag ito ay naitakda na. Nangangailangan ito ng simbolo na '#(hash)' bago ang kulot na braces para sa deklarasyon kung hindi, ito ay gumaganap bilang isang bagay. Maikling ipinaliwanag ng gabay na ito ang uri ng data ng JavaScript Records.