Javascript Errorオブジェクトの2つのクロスブラウザプロパティ、つまり「name」と「message」が「for...in」メソッドを使用して見つからない理由を理解しようとしています
// error code
...
}catch( err ){
// in FF this lists 3 properties for fileName, lineNumber and columnNumber...
// but NOT name or message!
for(var propertyName in err) {
$( '#diags' ).append( 'err property: ' + propertyName + ',
value: ' + err[ propertyName ] + '<br>' );
}
// this line prints fine:
$( '#diags' ).append( 'Error - name:' + err.name + ', message: ' + err.message + '<br>' );
}
編集
名前とメッセージを聞かれます。これらは、すべてのエラーが任意のブラウザに持つプロパティです(ただし、これらはありますか?)。したがって、上記のコードに、これらの「属性」またはそれらが正常に出力されることを示すコードを1行追加しました。
Edit2
マティの有益な答えに続いて、私は少し検索をしました。これは「検査」の質問に答えているようです。オブジェクトの列挙できない継承されたプロパティ名を取得することは可能ですか?