JSON.stringify([undefined])

TLDR

notes from mozilla.org

undefined, Functions, and Symbols are not valid JSON values. If any such values are encountered during conversion they are either omitted (when found in an object) or changed to null (when found in an array). JSON.stringify() can return undefined when passing in "pure" values like JSON.stringify(function(){}) or JSON.stringify(undefined).

The numbers Infinity and NaN, as well as the value null, are all considered null.