Javascript はオブジェクトのプロパティをfor…in文で取り出して処理する際に、 prototypeで定義されたプロパティも一緒に取り出してしまいます。

上記の状況を回避したい場合、 hasOwnProperty() 関数を使用すればいいです。

hasOwnProperty() 関数でオブジェクト自分自身のプロパティかどうかは 教えてくれます。