Cûdaiya di navbera null û nediyarkirî de di JavaScript de
Balkêşî
JavaScriptBikaranîna gelemperî ya null
Wekî pîvanek fonksiyonê, ew tê vê wateyê ku pîvana fonksiyonê ne obje ye
function myFn(obj) {
if(null == obj) {
// code
}
}
Wekî dawiya zincîra prototîpa objeyê
Object.getPrototypeOf(Object.prototype);
Dema ku guhêrbar berdan, li guhêrbar null bidin
let o={
code:'abc'
};
o = null;
Bikaranîna tîpîk a nediyarkirî
Guhêrbar tê daxuyandin lê nayê veqetandin, nirxa guhêrbar nayê diyar kirin
let o;
console.log(o); //undefined
Parametera ku fonksiyonê divê peyda bike dema bangkirinê nayê peyda kirin, wê hingê nirxa pîvana ku nayê pêşkêş kirin nayê diyar kirin
function myFn(o) {
console.log(o);
}
myFn(); //undefined
Taybetmendiyên ku tişt nagire nav xwe, nirx ne diyar e
let o={
code:'abc'
};
console.log(o.name); //undefined
Gava ku fonksiyonek nirxek venegerîne, ew bi default vedibe undefined
function myFn(obj) {
obj = 'a';
}
console.log(myFn()); //undefined
Hevberiyên di navbera pûç û nediyarkirî de
Gava ku veguherî boolean derew e
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
Ferqa di navbera null û nediyarkirî de
Dema ku li hejmarek were veguheztin encam cuda ye. Encama veguherîna null hejmarek hêjmar a 0 ye, û encama veguherîna nevekirî NaN e.
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
Du celeb cûda ne, celebê null obje ye, û celebê nevekirî nevekirî ye.
console.log(typeof null); //object
console.log(typeof undefined); //undefined
null û nediyarkirî berawird bikin
Ji bo cûdakirina null û nediyarkirî, tenê hevgirtin dikare were bikar anîn.Di civînê de, ew ê bi hişkî berawird bike ka her du celeb wekhev in an na.
console.log(Boolean(null == undefined)); // true
console.log(Boolean(null === undefined)); // false
kurtkirin
Piştî berawirdkirina jorîn, me famkirinek zelal ji van her du tîpan heye. Bi gelemperî dema ku em dinirxînin ka guhartoyek dema nivîsandina koda xwedan nirxek derbasdar e, ne hewce ye ku em wan her duyan ji hev cihê bikin, tenê wê wekî celebek Boolean bikar bînin. Lê gava ku em hewce ne ku daraz bikin ka mal heye an na, divê em bi hişkî tîpî bikar bînin da ku nezelal diyar bikin. Di dawiyê de, heke em nirxek hejmarî derbas bikin, divê em pêşiyê darizandinek bikin, û nekare rasterast li celebek hejmarî were avêtin, nebe ku null dê bibe sedem ku em encamên anormal bistînin, û nediyarkirî dê rasterast NaN encama nederbasdar hesab bike.