最初に: 私は、Adobe InDesign CS3 のスクリプト エンジンとして埋め込まれた JavaScript のややあいまいな実装を使用しています。この実装は、「標準」の JavaScript から逸脱することがあるため、私の問題です。
John Resig の jsdiff ライブラリ( source here ) を使用して、2 つのドキュメント間で選択したテキストを比較しています。jsdiff は通常のオブジェクトを連想配列として使用して、単語をテキストから別のオブジェクトにマップします。(jsdiff.js の 129 行付近の「ns」変数と「os」変数を参照してください。)
テキストに「反映」という言葉が出てくると、頭痛が始まります。「reflect」は、すべてのオブジェクトのデフォルトの読み取り専用プロパティです。jsdiff が連想配列の値を ns['reflect'] に割り当てようとすると、すべてが爆発します。
私の質問: これを回避する方法はありますか? 明らかなバニラオブジェクトを使用せずにJavaScriptでハッシュテーブルを作成する方法はありますか?
基本原則:スクリプト エンジンを切り替えることはできません。:)