2014-02-27 2 views
2

[]을 사용하면 표현식이 cljs.core.PersistentVector.EMPTY으로 컴파일되어 모든 표현식이 [] 인 것처럼 보이며 동일한 객체에 매핑됩니다.Clojurescript에서 새 배열 만들기

나는 이것을 shouldn't use new Array()으로 읽었습니다. 그것은 여전히 ​​다음과 같은 가치가 있습니까?

이 배열에서 aset을 호출 할 것이므로 호출 할 때마다 새 객체가 필요합니다. 내가 어떻게 그럴 수 있니?

+0

아마도 JS 일지라도 clojurescript에서 관용적 인 방법을 더 잘 볼 수 있도록 도와 줄 수 있습니다. – Joaquin

답변

4

JavaScript interop을 사용하고있는 경우가 아니면 영구 벡터를 사용해야합니다. 배열을 실제로 만들려면 (array)을 사용하면됩니다.

7

요즘 ClojureScript에는 꽤 깔끔한 표기법이 있습니다. #js []을 입력하면 컴파일러가이를 기본 JS 배열로 처리합니다. 너무 객체와 함께 작동 : #js {:one 1 :two 2}. 그런 일은 벌거 벗은 JS 객체로 컴파일됩니다.

관련 문제