В теории null = пусто (нет данных), undefined = переменная определена, но данных не определены (т.е. тоже самое что null, по идее), но как это наложить на практику в JS, не понятно.
Нет.
null это значение переменной, обозначающее что-то там, не важно что, но с этим можно что-то сделать или проверить.
undefiend обозначает лишь то, что переменная/свойство
не определена, это так и переводится, загляни в словарь, если не веришь.
// пример использования null
let data = null;
button.click(loadData(result => {
data = result .data;
}));
// еще пример с null
function getSmth(type = null) {
if (type === null) { // если null, то вернуть все
return data.types;
}
// если не null, то фильтруем по значению
return data.types.filter(t => t.type === type)
}
// пример с undefined
const data = {
type: 8,
index: 15,
};
console.log(data.type); // 8
console.log(data.option); // undefined, потому что не объявлено, попробуй получить тут null без проверок...
Вопросов не должно остаться.