JSFiddle - React, Tailwind, and code Playground

JavaScript

function get(items) {
    return [].concat(items);
}

function toJson(any) {
    return JSON.stringify(any);
}

var test1 = undefined;
var test2 = [undefined];

// 1. как различить эти два состояния?
console.log(get(test1)); // [undefined], length 1
console.log(get(test2)); // [undefined], length 1

// 2. как определить, что множество пустое?
// допустим, так: (get().length === 1 && get()[0] === undfined)
// а если на самом деле оно имеет вид [undefined], как определить в этом случае?

// 3. с точки зрения функции get() значения переменных test1 и test2 одинаково
console.log(toJson(get(test1)), toJson(get(test2)));
// хотя на самом деле они различны
console.log(toJson(test1), toJson(test2));