ʻO ka ʻokoʻa ma waena o null a undefined ma JavaScript

Kākauʻōlelo

JavaScript

Hoʻohana maʻamau o null

Ma ke ʻano he parameter hana, ʻo ia hoʻi ʻaʻole ka mea hana i kahi mea

            function myFn(obj) {
    if(null == obj) {
        // code
    }
}
        

E like me ka hopena o ka mea prototype chain

            Object.getPrototypeOf(Object.prototype);
        

Ke hoʻokuʻu nei i ka loli, hāʻawi ʻole i ka loli

            let o={
 code:'abc'
};
o = null;
        

Hoʻohana maʻamau o undefined

Hōʻike ʻia ka loli akā ʻaʻole i hāʻawi ʻia, ʻaʻole i wehewehe ʻia ka waiwai o ka loli

            let o;
console.log(o);    //undefined
        

ʻAʻole i hāʻawi ʻia ka pāʻālua e pono ai ka hana ke kāhea ʻana, a laila ʻaʻole i wehewehe ʻia ka waiwai o nā mea i hāʻawi ʻia

            function myFn(o) {
    console.log(o);
}
myFn();   //undefined
        

Nā waiwai i loaʻa ʻole i ka mea, ʻaʻole i wehewehe ʻia ke kumukūʻai

            let o={
 code:'abc'
};
console.log(o.name);    //undefined
        

Ke hoʻihoʻi ʻole ka hana i kahi waiwai, hoʻi mai ia i koho ʻole ʻia e ka paʻamau

            function myFn(obj) {
    obj = 'a';
}
console.log(myFn());    //undefined
        

Nā mea like ma waena o null a undefined

Hewa ke hoʻololi ʻia i boolean

            console.log(Boolean(null));  // false
console.log(Boolean(undefined)); // false
        

ʻO ka ʻokoʻa ma waena o null a undefined

ʻOkoʻa ka hopena ke hoʻololi ʻia i helu. ʻO ka hopena o ka hoʻohuli ʻole he helu helu kūpono o 0, a ʻo ka hopena o ka hoʻohuli ʻole hoʻohuli ʻia ʻo NaN.

            console.log(Number(null));  // 0
console.log(Number(undefined)); // NaN
        

He ʻokoʻa nā ʻano ʻelua, ʻo ke ʻano o ka null he mea, a ʻo ke ʻano o ka undefined ʻaʻole i wehewehe ʻia.

            console.log(typeof null); //object
console.log(typeof undefined); //undefined
        

e hoʻohālikelike i ka nul a me ka ʻole

No ka hoʻokaʻawale ʻana ma waena o ka null a me ka undefined, hiki ke hoʻohana ʻia ka hoʻopili ʻana wale nō. I ka hoʻopili ʻana, e hoʻohālikelike pono ia inā kūlike nā ʻano ʻelua.

            console.log(Boolean(null == undefined));  // true
console.log(Boolean(null === undefined)); // false
        

e hōʻuluʻulu manaʻo

Ma hope o ka hoʻohālikelike ma luna, ʻike maopopo mākou i kēia ʻano ʻelua. ʻO ka maʻamau ke hoʻokolokolo mākou inā he waiwai kūpono ka mea hoʻololi ke kākau ʻana i ka pāʻālua, ʻaʻole pono mākou e hoʻokaʻawale ma waena o nā mea ʻelua, e hoʻohana wale ia ma ke ʻano he ʻano Boolean. Akā inā pono mākou e hoʻokolokolo inā loaʻa ka waiwai, pono mākou e hoʻohana pololei i ke ʻano e hoʻokolokolo kūpono ʻole. ʻO ka mea hope loa, inā mākou e hala i kahi helu helu, pono mākou e hoʻoholo mua, a ʻaʻole hiki ke hoʻolei pololei ʻia i kahi helu helu, i ʻole e hana ʻole ʻia ka hopena iā mākou i nā hopena kūpono ʻole, a helu pono ʻole ʻia ka hopena maikaʻi ʻole NaN.