Sorry, Dimitry, aber was Du hier treibst mit null und undefined und String, das finde ich echt sehr, sehr unverständlich und es wirkt auf mich sehr gehackt. 
Kannst Du entweder diesen Code deutlich klarer machen oder zumindest mal erklären, welche Use Cases Du hier verfolgst? (am besten durch Schreiben von Tests). Vielleicht wird's dann klarer für mich...