2014-02-17 7 views
0

문서를 읽고 WebIDL이 JS Number에 매핑 된 IDL 부호없는 short를 정의한다고 지적합니다.WebIDL은 JS에 대한 unsigned short를 정의합니다. 숫자 유형

부호 없음 short의 범위는이 정말이 두 정의 사이의 큰 하품부터 나를 혼란 -9007199254740992

9007199254740992.에 될 수는 0에서 65535 JS 번호입니다. 아무도 이것을 설명 할 수 있습니까?

감사 루이 포레 라크 - 언급 된 바와 같이

+0

실제로 읽은 문서를 연결할 수 있습니까? –

+0

예. 다음 링크를 참조하십시오. http://mcc.id.au/2013/lca-webidl/?full#What – Sam

+0

나는 거기에 프레젠테이션 비디오가 있다는 것을 확신합니다. 그것은 모든 것을 정확히 설명하지는 않습니다. 내 생각 엔 당신이 IDL을 unsigned short로 정의했다면, IDL의 요점은 JS Number에서 네이티브 코드의 Unsigned short 로의 변환을하는 것이다. 내부적으로 JS Number는 unsigned short보다 훨씬 복잡합니다. 하지만 IDL을 사용하여 js 번호가 기본 유형으로 매핑되는 것을 막지는 않습니다 ... 이는 IDL의 핵심입니다. –

답변

1

는 JS 수는 훨씬 더 복잡 부호보다 짧게한다.

Undefined – undefined 
Boolean – false, true 
Number – 0, -2.5, Infinity, NaN 
String – "", "hello" 
Object – { }, { "key": "value" }, [1, 2, 3], function() { }, /^regexp?$/ 

여기있는 요점은, 당신이 당신의 WebIDL에 숫자를 정의 할 때, 당신은 당신이 정밀도와 정확성을 위해 필요한 사항 고려 필요가있다이다 :

JS는 몇 가지 유형이 있습니다. 따라서 저장소에 부호없는 short보다 더 큰 무언가를 기대한다면 4,294,967,295까지 유지되는 unsigned int와 같은 것을 선언하십시오.

여기의 아이디어는 자바 스크립트 유형에 의존하지 않고 WebIDL (Python, C 또는 C++ 또는 다른 언어로 번역 될 수 있음)에 의존합니다.

희망 사항을 명확히 할 수 있었으면합니다. 그렇지 않다면 irc.mozilla.org에서 @heycam을 찌를 것을 권합니다. 그는 그것을 모두 알고 있습니다 :).