HTML5 キャンバス描画をしようとしていますが、高度なコンパイル モードで問題が発生しました。これを Mozilla ブラウザーのプロパティで例証したいと思いmozDash
ます (ただし、この質問は属性最適化機能に関しては非常に一般的です) https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D#Gecko-specific_attributes
JavaScriptcanvas.mozDash = ...
コードは、Clojurescriptで[1](set! (.-mozDash canvas) ...)
または[2]と表現できます。(aset canvas "mozDash" ...)
以前に [1] を使用したことがあり、ほとんどの場合は機能しましたが、mozDash
属性を使用するmozDash
と、高度なコンパイル結果で識別子がなくなりました。したがって、[2] を試してみたところ、バリアントmozDash
を使用して識別子が保持されているようです。aset
したがって、私の質問は次のとおりです。
- これは、これらの表記の意図的な違いですか?
- の動作が異なる ([1] と [2] が機能する) のは
(.-fillStyle canvas)
なぜですか?
標準の HTML プロパティはデフォルトで保護されていますが、非標準のプロパティ ( などmozDash
) はサポートされていないのではないかと思います。