공식 JavaScript 참조가없는 이유는 무엇입니까? [닫은]


90

JavaScript 참조를 검색하려고했지만 사용할 수있는 항목이 없습니다. 가장 좋은 두 가지 소스는 MDN (Mozilla Developer Network)과 W3Schools입니다.

왜?


55
w3schools를 피하십시오; 그 JS 자료는 매우 열악한 경향이 있습니다, IMHO.
NickFitz

1
죄송합니다. MDC를 의미했습니다. developer.mozilla.org/en/About_JavaScript
huy

9
이것은 일종의 무작위 주석이지만 개인적으로 모든 브라우저는 모든 Javascript / Jscript bastardisations를 스크랩하고 jQuery를 기본적으로 구현해야한다고 생각합니다. :)
DisgruntledGoat

14
DOM을 통한 jQuery 월페이퍼이지만 실제로 JavaScript를 대체하지는 않습니다.
Rob

2
@huy MDN, MDC 또는 MDE가
아님

답변:


63

공식 자바 스크립트 릴리스가있는 것과는 다릅니다. 모든 브라우저는 자체 JavaScript 엔진을 만들었습니다. 일부는 동일한 것을 사용하고 있습니다. 그러나 특히 Internet Explorer에는 다른 브라우저가 지원하는 기능을 많이 지원하지 않는 자체 버전이 있으므로 일반적인 JavaScript 참조를 만들기가 매우 어렵습니다.

편집 :
공식 ECMA 표준 및 개발 팀이 있다는 것을 알고 있지만, 제 요점은 브라우저 (Internet Explorer)가 이에 부합하지 않는 한 실제로 중요하지 않다는 것입니다. 결국 클라이언트는 Internet Explorer에서도 JavaScript가 작동하기를 원합니다. 그들은 ECMA 표준에 신경 쓰지 않고 작동하기를 원합니다. 이것이 JavaScript 라이브러리가 등장하는 곳이지만 또 다른 이야기입니다.

HTML 및 CSS와 동일한 문제입니다. 다음과 같은 경우에는 이러한 도구를 적극적인 개발에 사용할 수 없습니다.

  • 모든 브라우저가이를 지원합니다.
  • 브라우저에 코드를 제공하여 지원하도록합니다.
  • 모든 브라우저에서 작동하지 않는 것은 괜찮습니다.

Edit2 :
Internet Explorer는 Microsoft : Edge의 새 브라우저 프로젝트로 무덤에 가까워지고 있습니다. 그러나 이것이 전체 그림을 실제로 바꾸지는 않습니다. 지원해야 할 다른 브라우저가 여전히 많이 있습니다. 개발자들은 가능한 것의 경계를 넓히려 고 끊임없이 노력하고 있습니다. 이것은 우리가 종종이 문제를 가지고 있다는 것을 의미합니다. 우리가 지원하고자하는 일부 브라우저 버전은 표준 의 일부 기능 (보통 약간 유동적 임) 을 지원하지 않습니다. 즉, 해결 방법을 만들거나 누락 된 빌드를 구현하는 프레임 워크를 사용해야 함을 의미합니다. 기능.


마이클이 위에서 언급 한 ECMA-262 표준에 따라 다른 브라우저가 자체 구현을 가지고 있습니까?
huy

3
@huy : 예 - ... 슬프게도, /에 대한 지원의 다양한 수준이 표준의 해석을 변화와
의 Andrzej 도일을

1
-1, 거기에 있다 가 ECMA 스크립트라고하고 뒤에 공식적인 신체가있다 : 공식 자바 스크립트 표준 en.wikipedia.org/wiki/Ecma_International
하센

다른 브라우저와 마찬가지로 ECMA "표준"을 지원하는 데있어 Internet Explorer를 더 나쁘게 선택한 이유를 잘 모르겠습니다.

5
@ ראובן : 왜냐하면 그것은 /이었다. 오랫동안 IE는 다른 브라우저가 갖고 있지 않은 심각한 버그가 많았을뿐만 아니라 다른 브라우저가 가지고있는 중요한 기능도 놓치고있었습니다. 하지만 IE8과 9는 많이 따라 잡았 기 때문에 상황이 바뀌고 있습니다. 그러나 수년 동안 IE는 끔찍했고 다른 브라우저는 ECMAScript를 잘 지원했습니다. 또한 ECMAScript 표준입니다. 왜 따옴표로 묶었는지 모르겠습니다.
Pauan

28

공식 ECMAscript 사이트에서 시도 할 수 있습니다.

http://www.ecmascript.org/

하지만 유용한 것은 실제로 각 브라우저의 구현입니다.

나는 Danny Goodman의 JavaScript 성경에있는이 치트 시트를 많이 좋아합니다.

http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf


그 치트 시트는 죽었습니다. caniuse.com을 제안해도 될까요?
Grinn

고마워, 나는 새로운 링크에 연결하고 그것이 무엇인지 조금 설명했다. 알림 주셔서 감사합니다!
Victor

좋습니다. 확인해 보겠습니다.
Grinn

22

나는 이것이 "공식적인"이라고 말할 것이다 : https://developer.mozilla.org/en/JavaScript

또한 ECMAScript 언어 사양, 5.1 Edition (또는 최종 사양 인 PDF )도 있습니다.

그리고 Microsoft : JavaScript Language Reference : "이 문서는 ECMAScript 5th Edition 언어 사양을 준수하는 JavaScriptMicrosoft 구현에 대해 설명합니다 . 또한 Ecma 표준에 포함되지 않은 추가 기능을 제공합니다."


8
IE에는 JavaScript 엔진이 없습니다. 대신 JScript를 구현합니다 (대부분 호환 가능). msdn.microsoft.com/en-us/library/yek4tbz0%28VS.85%29.aspx 는 공식 참조처럼 보입니다.
Quentin

3
흠 ... developer.mozilla 는 매우 도움이되지만 "공식적"이라고 부르지는 않을 것입니다. ECMAScript 언어 사양은 "공식"에 더 가깝습니다.
Steve Harrison

4
ECMAScript 언어 사양은 ECMAScript의 공식 참조입니다. JavaScript는 Netscape에서 만든 ECMAScript의 상위 집합이며 Mozilla는 Netscape에서 MDC를 상속 받았습니다 (그 이후 이름은 변경되었지만)
Quentin

ECMAScript 표준의 경우 +1입니다.
Jason S

@Quentin- 참조 하는 MSDN 링크 의 제목 이 이제 "JavaScript Reference"라는 것이 흥미 롭습니다 . 그러나 MSDN 기사 "JScript (ECMAScript3)" 에서는 "JScript는 ECMA 262 언어 사양 (ECMAScript Edition 3)의 Microsoft 구현입니다. 이전 버전과의 호환성을 유지하기 위해 몇 가지 사소한 예외 만 제외하고 JScript는 ECMA 표준. " .
DavidRR 2014

8

웹용 ECMAScript (99.9 %의 사람들이 사용)를 사용하는 경우 언어의 기본 구문 (위에서 언급 한 ECMA-262 사양에서 다룹니다)을 넘어 서면 아마도 찾고있는 것은 DOM 참조 일 것입니다. 웹 문서와 상호 작용하는 데 사용되는 ECMAScript API입니다.

아무도 DOM API 소파를 언급하지 않았다는 사실에 매우 놀랐습니다. 현재 W3C DOM 표준은 여기 : http://www.w3.org/TR/DOM-Level-2-Core/

(btw, 명명 혼란에 관해서는-ECMAScript는 공식 표준의 이름이고 "Javascript"와 "JScript"는 Netscape와 Microsoft의 독점 "포크"입니다.)


3

공식적인 참고 자료가 있지만 매우 편리한 형식이 아닙니다. 그것은이다 ECMA-262 사양입니다. 검색 가능한 HTML 페이지 세트가 아닌 하나의 매우 큰 PDF 문서입니다.


3

Mozilla 문서 팀의 구성원 (예 : Eric Shepherd )에 의한 MDC 의 모든 JavaScript 페이지 개정 은 공식입니다. JavaScript는 공식적으로 Mozilla에서 유지 관리하므로 Mozilla의 문서 만 공식입니다. JavaScript를 지원하는 유일한 엔진은 현재 Mozilla에서 만들고 다른 모든 엔진은 ECMAScript를 구현합니다. JavaScript와 ECMAScript에는 몇 가지 차이점이 있습니다 (예 : awesome 문).let


3

구현 (모든 브라우저에 있음)이 있고 사양 (ECMAScript)이 있지만 사양에 대한 구현의 적합성 테스트가없는 한 "공식"참조를 갖는 것은 매우 어렵습니다.

하지만 이제는 http://es5conform.codeplex.com/에 EMCAScript 5 적합성 제품군 이 있습니다. ECMAScript 구현이 서로 더 가까워 져서 ECMAScript가 해당 언어에 대한 공식 참조가 될 가능성이 높아진다는 합의가 있습니다.


2

이 목적을 위해 구식 Netscape 4 JavaScript 문서가 매우 유용하다고 생각합니다. 분명히 완전히 구식이고 Layers와 같은 DOM 기능 중 일부는 오래 전에 사라졌지 만 언어 기본은 정말 견고합니다.

IE의 패권과 ECMA 표준화 이전에는 Netscape의 JavaScript가 결정적인 JavaScript 였기 때문 입니다. 다른 브라우저는 이전 문서에서 볼 수있는 것을 정확히 구현해야했습니다.

또한 ECMA-262 문서보다 읽기가 훨씬 쉬우 며 표준 문서의 표준으로도 절대적인 공포입니다.



0

"공식"이란 "자바 스크립트 책임자가 작성한"이라는 뜻이라고 생각합니다.

여기서는 추측 만했지만 JavaScript (ECMA)를 담당하는 사람들은 직접적으로 돈을 벌지 못하며 참조 문서를 작성하는 데 특별한 기술이 없을 것입니다. 따라서 그들은 좋은 참조를 쓸 수있는 인센티브 나 능력이 없습니다.

개인적으로 저는 O'Reilly 의 Definitive Guide 인 JavaScript를 좋아 합니다. 11 월에 6 번째 판이 나옵니다.


2
네, 그렇습니다. Sun은 JavaScript의 상표를 소유하고 있지만 Netscape에 라이센스를 부여했습니다. Oracle이 Sun을 인수 했으므로 이제 Oracle이 상표를 소유하고 있습니다 (여전히 Mozilla에 라이센스를 부여합니다). HTML과 CSS는 W3C에 의해 정의되므로 다른 문제입니다. Firefox의 JS 엔진에는 다른 브라우저에서 볼 수없는 많은 독점 (그리고 멋진) 기능이 포함되어 있습니다. JavaScript (Brendan Eich)의 제작자는 공식 ECMAScript위원회에 있으며 Mozilla에서도 작업합니다.
Pauan

1
또한 다음 링크를 확인하십시오. en.wikipedia.org/wiki/ECMAScript#Dialects Firefox에는 이미 언급했듯이 객체 / 배열 분해 / 이해와 같은 다른 브라우저에서 찾을 수없는 많은 고급 기능이 포함 된 "JavaScript 1.8.5"가 있습니다. , 생성기 / 반복자, let 블록 / 문장 등이 있습니다. "Mozilla는 JavaScript의 공식 버전을 관리합니다. 대부분의 Mozilla가 아닌 구현에서 JavaScript"준수 "를 주장하는 대부분의 JavaScript 확장은 실제로 지원하지 않습니다. 오히려 ECMA-262, 에디션 3을 대상으로합니다. "
Pauan

1
ECMAScript는 JavaScript와 다릅니다. ECMAScript는 Ecma에서 정의한 표준입니다. 브라우저는 일반적으로 ECMAScript 표준을 지원하는 데 매우 적합하며 대부분의 사람들이 "JavaScript"라고 말할 때 실제로 의미하는 것은 ECMAScript입니다. 상황과 용어가 너무 헷갈리는 것은 안타깝지만 거기에 있습니다. 따라서 대부분의 경우 JavaScript의 비공식적 정의는 "브라우저가하는 일"이지만 공식적으로는 Mozilla가 이에 대한 책임이 있습니다.
Pauan

1
이것이 의미하는 바는 "공식 JavaScript 참조"를 요구하는 모든 질문이 정확하게 대답하기에는 너무 모호하다는 것입니다. 공식 ECMAScript 표준, 브라우저에서 JavaScript의 실제 구현, Firefox의 공식 JavaScript 구현을 다루는 MDC, 그리고 w3schools와 같이 매우 인기있는 비공식 문서가 있습니다. 모두 유용하기 때문에 파이썬과 같은 "단일 올바른"참조는 없습니다.
Pauan

2
(아마도 일련의 댓글이 아닌 실제 답변으로 게시 했어야했는데 ... 오 글쎄)
Pauan aug

-1

저는 Daniel Krook의 apidoc을 정말 좋아합니다. 비록 몇 가지 설명과 예제를 사용할 수 있지만 말입니다. krook w3school 매시업을보고 싶습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.