Может быть я не в тему, но у меня отчетливое ощущение того что автор не так понял задачу. Судя по тому что это задача была на собеседовании скорее всего хотели просто получить пример реализации синглтона. Простите если я не прав. Глупо спрашивать на собеседовании хаки и тонкости типа valueOf, обычно стоит задача выяснить владение паттернами и умение их применять, аогоритмирование и прочее. Я не имею в виду что не надо знать про то как работает valueOf и toString, просто механизмы приведения типов в js иногда чудят, но при этом это не мешает людям которые не знают этих тонкостей писать на js хорошо и красиво. Просто не всем приходит в голову сравнивать данные разных типов)
var F = (function () {
var instance;
var F = function () {
if (instance) return instance;
instance = this;
};
return F;
})();
var a = new F();
var b = new F();
alert(a === b);
alert(a == b);