2011-01-02 4 views
1

더글러스 크로프트 (Douglas Crockford)는 약식Top Down Operator Precedence에 대한 참조를 만듭니다. 불행하게도 그는이 기사에서 그것에 대해서만 언급합니다. 내가 찾은 가장 좋은 설명은 here입니다. 그러나 나는 아직도 그것이 실제로 무엇인지 실마리가 없습니다."단순화 된 JavaScript"란 무엇입니까?

간단한 JavaScript 란 무엇입니까?

+1

"단순화 된 JavaScript"- 모든 것을 주석 처리 할 때입니까? ;) –

+2

jQuery ... – jondavidjohn

+5

jondavidjohn - 그건 완전히 바보예요. 그것은 열과 빛을 태양의 최고라고 부르고 방사선, 간섭, 중력 등을 선언하는 것과 같습니다. 제거되어야하는 부작용입니다. 즉, jQuery는 JS 없이는 작동 할 수 없으며 jQuery가 실행해야하는 JS의 일부가 없다. – Christian

답변

4

Top Down Operator Precedence 기사의 맥락에서 "단순화 된"은 "파서 작성 용이성"을 의미합니다. 즉, Javascript 파서를 자바 스크립트로 작성하는 방법을 보여주고 싶었습니다. 모든 스펙을 사랑스러워하는 단점을 모두 지원하려고 노력했습니다.

"단순화 된 자바 스크립트"에서 지원되는 기능은 "좋은 부품"으로 나열된 기능과 매우 비슷하지만이 기사의 핵심은 Crockford의 세계관이나 책을 홍보하는 것이 아니라 언어 작성 방법을 보여주기위한 것이 었습니다 파서 (쉬운 작업 없음).

우리는 전체 자바 스크립트 언어를 다루는이 짧은 장에서 시간이 없어, 아마도 우리 언어 가 엉망이기 때문에 싶지 않을 것이다 : 문서에서

. 하지만 그것에는 고려할 가치가있는 훌륭한 빛이 있습니다. JavaScript를 처리 할 수있는 파서를 작성합니다.

4

이것은 아마도 Crockford의 저서 Javascript: The Good Parts을 참조한 것입니다. 이 책에서 그는 Javascript의 어떤 기능이 "좋음"인지, "좋지"않은지, 사용하지 말아야 할 점을 설명합니다.

+1

Crockford의 글은 그가 진짜 이슈와 답변을 제시한다는 의미에서 실망 스럽지만 다음 페이지에서 그는 과장하여 자신의 동기를 조롱합니다. 가장 좋은 예는 무엇입니까? 'Eval'.그것은 무수히 많은 시간 동안 사용되어 왔지만 그다지 유용하지는 않습니다. 그것은 코딩의 장소입니다. 몇 달 전에 아주 빡빡한 장소에서 나를 도왔던'with '문과 동일합니다. 토론으로 돌아 가기, simplified javascript. 그것은 Crockford가 자바 스크립트 뒤에 숨어있는 드라이브라고 생각하는 것입니다. 마음에 드는 것, 나는 어떤면에 동의합니다. 그러나 주관적이며 인정하지 않습니다. – Christian

+0

@Christian Crockford는 간단한 사람입니다. 특정 기능으로 인해 나쁜 결과가 발생할 수있는 경우 사용하지 않을 수도있는 시나리오를 정의하는 것보다 완전히 금지하는 것이 더 간단합니다. 이 최소한의 접근 방식에 동의하지 않는다면 ... 동의하지 않습니다. 그러나 그 사람의 접근 방식에 동의하지 않기 때문에 다른 사람의 작업을 "실망스러운"것으로 표시하는 것은 공정하지 않습니다. –

+0

@ Šime -이 접근법을 사용하면 자바 스크립트를 몇 가지 기능으로 제한 할 수 있습니다. 학대 당할 수도 있기 때문에 무언가를 금지 할 수 없습니다. 나는 "실망스러운"것은 충분히 공정하다고 생각합니다. 보통 사람들은 공정한 논쟁을 시작하지 않고 발을 쏘지 않습니다. – Christian

0

간략한 JavaScript는 아직은 언어가 아닙니다. Pratt의/Crockford의 Simplified Parser TDOP이 있습니다. 첫 번째 단계이지만 파서의 출력 "tree"를 JavaScript로 처리하려면 코드 생성기 또는 해석기가 필요합니다. IMHO는 좋은 일이 될 것입니다. 그러면이 제안 된 언어 "Simplified JavaScript"를 배우고 쓰는 데 도움이되는 IDE가 따라옵니다.