Разница между NULL и отсутствием значения в программировании заключается в том, что NULL обозначает намеренное отсутствие значения объекта, а отсутствие значения в целом может обозначаться другим значением — undefined. 25
Null — это специальное значение, которое означает, что переменная есть, но в ней ничего нет. 1 Оно всегда явно задаётся программистом и используется, когда нужно обозначить объект с неопределённой структурой. 2
Undefined обозначает, что переменной ещё не присвоено значение. 2 Например, когда компьютер создаёт переменную без явного указания типа и ничего в неё не кладёт, он помечает её как undefined, чтобы отметить неопределённость. 1
Таким образом, null указывает на то, что переменная пустая, при этом компьютер точно знает, как с ней можно работать, а undefined — что компьютер не знает, что лежит в переменной, так как ей ещё не присвоено значение. 1