Ano ang Pagkakaiba sa Pagitan ng Null at Hindi Natukoy sa JavaScript?

Ano ang Pagkakaiba sa Pagitan ng Null at Hindi Natukoy sa JavaScript?

Ang gabay na ito ay titingnan ang pagkakaiba sa pagitan wala at hindi natukoy mga halaga sa JavaScript. Ang pag-alam sa pagkakaiba sa pagitan ng dalawang halagang ito ay mahalaga para sa pag-debug at paglikha ng code na walang bug.





kung paano gawing pribado ang mga photo album sa facebook

Gamitin ang iyong browser console upang sundin kasama o subukan ang mga sample ng code na tinalakay sa gabay na ito.





Paghahambing ng Pagkakapantay-pantay ng Mga Null at Hindi Natukoy na Halaga

Sa JavaScript, wala ay isang primitive na halaga na ginagamit upang ipahiwatig ang sinasadya na kawalan ng isang halaga ng object, samantalang hindi natukoy ay isang primitive na halaga na kumikilos bilang isang placeholder para sa isang variable na hindi naitalaga ng isang halaga.





Wala at hindi natukoy ang mga halaga ay pantay kung ihinahambing gamit ang JavaScript equality operator.

Gamitin ang operator ng pagkakapantay-pantay ( == ) upang ihambing kung wala at hindi natukoy ang mga halaga ay pantay sa JavaScript.



Buksan ang iyong browser console at i-input ang sumusunod na code, pagkatapos ay pindutin Pasok

null == undefined

Ang output ay dapat magbigay sa iyo ng isang bagay na ganito ang hitsura, ang ibinalik na boolean na halaga ng totoo nangangahulugan lamang na ang dalawang halaga ay pantay.





Dagdagan ang nalalaman: Paano Magdeklara ng Mga variable sa JavaScript

Mahigpit na Paghahambing sa Pagkakapantay-pantay

Ang JavaScript ay mayroon ding isang operator ng pagkakakilanlan ( === ), kilala rin bilang mahigpit na operator ng pagkakapantay-pantay bilang karagdagan sa operator ng pagkakapantay-pantay ( == )





Ang pagpapatakbo ng pagkakakilanlan ay napupunta sa dagdag na milya sa pamamagitan ng pag-check kung ang pinagbabatayan na uri ng mga halagang inihahambing ay pareho. Mahalagang nangangahulugan ito na kahit na pantay ang dalawang halaga, maaaring hindi magkapareho o mahigpit na pantay kung magkakaiba ang mga pinagbabatayan nilang uri.

Upang masubukan ang mahigpit na pagkakapantay-pantay, gamitin ang triple pantay na pag-sign tulad ng sa ibaba.

null === undefined

Ang resulta ng utos sa itaas ay magbibigay sa iyo ng isang boolean na halaga ng hindi totoo , Sa madaling salita, ang dalawang halaga ay hindi magkapareho kahit pantay ang mga ito.

Pag-alam sa Uri ng Null at Hindi Natukoy

Gamitin ang built-in na pag-andar ng JavaScript uri ng() upang malaman ang napapailalim na uri ng isang halaga. Ang pagpapaandar ay tumatagal ng isang solong parameter ng halaga na ang uri ay nais mong hanapin.

Kaugnay: Ang Ultimate JavaScript Cheat Sheet

typeof(null)

Ang null na halaga ay uri bagay tulad ng nakikita mo mula sa output sa ibaba.

Pagpapatakbo ng isang katulad na pagsubok sa hindi natukoy bibigyan ka ng halaga ng isang resulta ng hindi natukoy .

typeof(undefined)

Paggawa Sa Mga Numero

Upang galugarin ang higit pang mga pagkakaiba, isagawa ang pagsubok sa bilang wala at hindi natukoy halaga Kung ang isang halaga ay isang numero, ipinapahiwatig nito na maaari kaming magsagawa ng mga pagpapatakbo ng bilang dito.

Mayroong dalawang pangunahing paraan upang subukan kung ang isang halaga ay isang numero sa JavaScript.

1. Gamit ang isFinite () pagpapaandar — kung ang halaga sa ilalim ng pagsubok ay isang numero, babalik ang pagpapaandar totoo ; kung hindi man ay nagbabalik ito hindi totoo .

2. Gamit ang isNaN () pagpapaandar — kung ang halaga sa ilalim ng pagsubok ay isang numero, pagkatapos ay babalik ito hindi totoo ; kung hindi man ay nagbabalik ito totoo .

Tandaan : ayNaN ay maikli para sa 'ay Hindi isang Numero'.

Upang mapanatili ang mga bagay na simple, gagamitin lamang ng patnubay na ito ang isFinite () pagpapaandar upang subukan kung ang halaga ay isang numero, ngunit huwag mag-atubiling subukan din ang isNaN () pagpapaandar Pareho sa mga pagpapaandar na ito ang kumukuha ng halagang nais mong patakbuhin ang pagsubok sa bilang bilang isang parameter.

isFinite(null)

Ang resulta ay totoo , ibig sabihin wala ay isang halaga ng uri numero sa JavaScript. Sapagkat, nagsasagawa ng parehong pagsubok sa hindi natukoy nagbabalik hindi totoo .

isFinite(undefined)

I-type ang Pamimilit

Ang JavaScript ay isang maluwag na nai-type na wika, at dahil dito, kapag nagsasagawa ng mga pagpapatakbo sa matematika ay awtomatikong babaguhin ng JavaScript ang resulta sa isang uri na nais nito.

Sa kasamaang palad ang awtomatikong conversion na ito, na karaniwang tinutukoy bilang uri ng pamimilit, ay maaaring magdala ng maraming mga sorpresa kasama nito.

Patakbuhin ang sumusunod na pagpapatakbo ng bilang sa wala at hindi natukoy sa iyong browser console.

1 + null 3 * null 1 + undefined 3 * undefined;

Tulad ng nakikita mo, maaari kang magsagawa ng ilang mga pagpapatakbo ng bilang sa wala halaga dahil ito ay isang numero na walang humahawak na halaga. Samakatuwid, ito ay ginagamot tulad ng isang zero. Tandaan na wala ay hindi katumbas ng zero sa JavaScript, ngunit sa paanuman ay ginagamot ito sa kasong ito.

Ang mga numerong operasyon sa hindi natukoy resulta ng halaga sa pagbabalik ng NaN (Hindi isang Numero) na halaga. Kung hindi maingat na tratuhin, maaari mo itong maranasan sa panahon ng runtime.

Pag-iwas sa Runtime Bugs

Isang mabuting pag-unawa sa wala at hindi natukoy mahalaga ang mga halaga upang maiwasan ang mga runtime bug sa iyong code ng paggawa. Mga bug na nauugnay sa hindi natukoy ang mga halaga ay maaaring mahirap i-debug at pinakamahusay na maiiwasan.

Isaalang-alang ang paggamit ng TypeScript para sa malakas na na-type na code na tumutugma sa JavaScript. Sa TypeScript ang iyong code ay naka-check sa oras ng pagtitipon upang i-minimize ang mga runtime bug sa iyong code ng paggawa.

Magbahagi Magbahagi Mag-tweet Email Mga Kaugnay na Paksa
  • Programming
  • JavaScript
  • Mga Tip sa Coding
Tungkol sa May-akda Magandang pumunta(36 na Artikulo Nai-publish)

Binubuo ni Mwiza ang software sa pamamagitan ng propesyon at malawak na nagsusulat sa Linux at front-end na programa. Ang ilan sa kanyang mga interes ay may kasamang kasaysayan, ekonomiya, politika at arkitektura ng enterprise.

Higit pa Mula kay Mwiza Kumwenda

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe