일부 HTML5 캔버스 드로잉을 시도하고 있는데 고급 컴파일 모드에서 문제가 발생했습니다. (이 질문은 속성 최적화 기능에 대한 매우 일반적인하지만) 나는 모질라 브라우저의 mozDash
속성이 예시 싶습니다 https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D#Gecko-specific_attributes 자바 스크립트 canvas.mozDash = ...
코드는 [1] (set! (.-mozDash canvas) ...)
또는 Clojurescript에서 [2] (aset canvas "mozDash" ...)
과 같이 표현 될 수있다ClojureScript와 클로저 : 속성을 클로저로 이름을 변경하지 못하도록 보호하는 방법
.
이전에 [1]을 사용했지만 대부분의 경우 작동했지만 mozDash
속성을 사용하면 mozDash
식별자가 고급 컴파일 결과에서 사라졌습니다. 따라서 [2] 시도했는데 aset
변형을 사용하여 mozDash
식별자가 유지 된 것으로 보입니다.
내 질문에 따라서 다음과 같습니다
- 이이 표기법의 의도 차이인가?
(.-fillStyle canvas)
에 대한 동작이 다른 이유는 무엇입니까 ([1] 및 [2])?
표준 HTML 속성이 기본적으로 보호되는 반면에 표준이 아닌 속성 (예 : mozDash
)은 지원되지 않습니다.
실제로, https://groups.google.com/d/msg/clojurescript/uO3MLafNnZ4/G2D5PE6eoqQJ가 이에 대한 메일 링리스트에 대한 최근 토론 인 것으로 나타났습니다. – wirrbel