Тип данных null служит для указания отсутствия какого-либо значения у элемента, в то время как значение undefined этому элементу само присвоится при отсутствии такового. Простыми словами, после строки let a; значение a будет undefined, но если мы хотим явно обозначить, что переменная a без значения, то следует записать let a = null;
Несмотря на схожесть своей сущности, эти примитивы имеют некоторые общие и в то же время парадоксально отличные черты. Например:
null == undefined; // true
null === undefined; // false
Преобразование специальных типов данных в другие типы будет заключаться всего в одном - проверке условием на наличие самого типа данных. Рассмотрим примеры для преобразований null и undefined в различные типы данных.
Преобразование специальных значений в строку
let a;
if( typeof a === 'undefined' || a === null ){
a = '';
};
// a = ''
Преобразование специальных значений в число
let a = null;
if( typeof a === 'undefined' || a === null ){
a = 0;
};
// a = 0
Преобразование специальных значений в булевое
let a;
if( typeof a === 'undefined' || a === null ){
a = false;
};
// a = false
Преобразование специальных значений в массив
let a = null;
if( typeof a === 'undefined' || a === null ){
a = [];
};
// a = []
Преобразование специальных значений в объект
let a;
if( typeof a === 'undefined' || a === null ){
a = {};
};
// a = {}