twitterにどうぞ。この広告は、90日以上更新していないブログに表示しています。Gistをテストしている時に気がついたこと。addは、keyがObject.prototypeに登録されているメンバ名だった時(例えば"hasOwnProperty"や"propertyIsEnumerable")、in演算子がtrueを返して失敗する。次に、hasOwnPropertyを使ってプロトタイプチェーンを辿らないようにする方法。addこれは、hashtableのkeyに"hasOwnProperty"を指定して値を設定した時、次からkey.hasOwnPropertyの部分でエラーになる。以下一番目と同じとするとオブジェクトをハッシュテーブルとして使えるようになるが、Safariだとhashtable["__proto__"]にオブジェクトを再設定すると再びプロトタイプチェーンを辿るようになってしまうので駄目。}}とすると、add時にhasOwnPropertyとhashtable[key]の二つでハッシュ値が算出されるので気持ちが悪い。C言語等だとlookupと同時に値を設定できるようにすることも多いらしいのだが(「プログラミング作法」より)、オブジェクトをハッシュテーブルとして使う以上、これは諦めるしかない。doの見分け方と使い方についてなどArchiveはてなブログをはじめよう!javascripterさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。