AngularJSの$$hashkeyって何?

探し方がヘタなのかリファレンスが見当たらない…

What is the $$hashKey added to my JSON.stringify result
It comes with the ng-repeat directive usually. To do dom manipulation AngularJS flags objects with special id.

「これは通常ng-repeatが付属」とあるけど、自分の場合はJSONPでJSONを読み込むだけで付与されてしまうような・・・何故だろう?

理解してないので恰好悪いけどとりあえずさくっと消す方法。

If you use angular.toJson(obj) instead of JSON.stringify(obj) then Angular will strip out these internal-use values for you.

//$scope.jsonobj に$$hashkeyが入ってるとして
var jsonstr = JSON.stringify($scope.jsonobj);//$$hashkeyが取り除かれた文字列に変換
var clean_jsonobj = JSON.parse(jsonstr)//objectに戻す

もしくは

//$scope.jsonobj に$$hashkeyが入ってるとして
delete $scope.jsonobj["$$hashkey"];

で一応消せた。

これを消すとデータバインディングが効かなくなるので、AngularJSがmodel⇔view間のやり取りに使っているものなんだな程度には理解してるのですが・・・誰か詳しく(日本語で)教えてください><

[2014/08/13追記]
angular.toJson()でも取り除けました。どっちを使うべき?

ちなみに何故取り除くかというと、そのままモデルを保存するとJSONファイルにゴミ($$hashkey)がつく&そのファイルをAngularJSに再度読み込ませるとエラーになるからデス。