undefined が格納できないよ

すべてのオブジェクトをキーにできるハッシュの様なもの - IT戦記
arguments 使っただけ。

Dictionary = function() {
  var self = function(k, v) {
    var state = self.state;
    if (arguments.length < 2) {
      return state(k);
    }
    else {
      self.state = state(k) === v ? state : function(a) { return a === k ? v : state(a) }
      return v;
    }
  };
  self.state = function(k) { return undefined };
  return self;
};