Junior
JavaScriptте null жана undefined ортосундагы айырмачылыктарды кеңири түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
-
undefined:- Өзгөрмөгө белгиленген, бирок мааниси берилбеген өзгөрмөлөргө берилет.
- Функциянын параметрлери үчүн, эгер аргументтер берилбесе, алдын ала белгиленген мааниси.
- Объекттин же массивдин бар эмес өзгөчөлүгүнө же элементине кирүүгө аракет кылганда ал алынат.
- Маалымат түрү —
undefined.
-
null:- Специальдуу мааниси бар, өзгөрмөгө так белгиленген "маананын жоктугун" көрсөтүү үчүн.
- Көзгө көрүнгөндөй, объекттин же примиативдүү маанинин максаттуу жоктугун билдирет.
- Маалымат түрү —
object(бул JavaScriptтин тарыхый катасы, бирок ошондой).
Негизги айырмачылыктар таблицада:
| Өзгөчөлүк | undefined |
null |
|---|---|---|
| келип чыгышы | Жасалма (өз алдынча) | Максаттуу (иштеп чыгуучу белгилейт) |
| Мазмуну | Жарияланган, бирок мааниси берилбеген | Максаттуу маанинин жоктугу |
Маалымат түрү (typeof) |
undefined |
object |
| Boolean контекст | false |
false |
Теңдик (==) |
null == undefined (чын) |
null == undefined (чын) |
Теңдик (===) |
null === undefined (жок) |
null === undefined (жок) |
Мисал:
let a; // Оголошулуп, бирок мааниси берилбеген -> undefined
console.log(a); // undefined
const obj = {};
console.log(obj.prop); // Бар эмес өзгөчөлүккө кирүү -> undefined
function greet(name) {
console.log(name);
}
greet(); // Параметр берилбеген -> undefined
let b = null; // Ачык белгиленген null
console.log(b); // null
let c = {};
c.data = null; // Өзгөрмөгө null берилген
console.log(c.data); // null
console.log(typeof a); // undefined
console.log(typeof b); // object
console.log(null == undefined); // чын
console.log(null === undefined); // чын эмес