어떤 (JavaScript) 환경이 ECMAScript 5 엄격한 모드를 지원합니까? (일명“엄격한 사용”)

StackOverflow https://stackoverflow.com/questions/1423889

문제

ECMAScript 5 내가 이것을 쓸 때 최종 초안에 있습니다. 그것은 당신이 글로벌 객체, 평가 및 기타 제한을 사용하여 글로벌 객체에 할당하는 것을 방지하는 엄격한 모드를 포함해야합니다. (John Resig의 기사 좋은 소개입니다.)

이 마법의 정신 절약 모드는 파일의 상단에 문자열 "사용"을 포함시켜 트리거됩니다. 그러나 오래된 환경에서 "Strict ake"는 NO-OP입니다. "엄격한 사용"을 추가하고 엄격한 환경에서 테스트하지 않으면 실제로 엄격한 환경에 부딪 칠 때 깨지는 엄청나게 강력한 코드를 남겨 둘 수 있습니다.

실제로 "엄격한 사용"을 실제로 존중하는 환경은 무엇입니까?

도움이 되었습니까?

해결책

업데이트:

내 참조 호환성 테이블.

원래 응답:

지금은 아무것도 없습니다.

라파엘 스파이 (Raphael Speyer) 올 여름 Rhino의 Mozilla 구현 작업, Afaik, 그들의 구현은 완료에 매우 가깝습니다.

Microsoft가 다가오는 버전의 IE에 ES5 기능 중 일부를 포함시킬 계획이며 현재 엄격한 모드 구현 작업을 잘 수행 할 수 있음을 알고 있습니다 (IE8은 이미 일부 포함되어 있습니다. ES5 기능 중 Object.defineProperty).

또한 있습니다 Google의 CAJA 프로젝트 일부 변형 (Valija, Cajita 등)에서 엄격한 모드의 동작을 다소 모방합니다.

Crockford는 최근 에이 옵션을 추가했습니다 jslint, 그러나 ES5 스트릭 규칙에 따라 추가 검증을 실제로 트리거하는지 확실하지 않습니다.

다른 팁

실제로 출시되었으므로 Firefox 4는 "ES5 Strict 모드를 지원하는 첫 번째 브라우저"의 우승자입니다. 이제 Firefox 4에서 테스트하는 한 사용을 시작할 수 있습니다.


Safari 5.1+ 및 Chrome 13+도 엄격한 모드를 지원합니다.


첫 번째는 다음과 같습니다. BESEN. 델파이에서 구현되었습니다. 나는 그것이 독립형이라고 생각하지만 확실하지 않습니다. 그러나 엄격한 모드를 지원합니다.

발견 된 이 호환성 테이블.


쥬라기 ES5 엄격한 모드를 지원하라는 주장.

ECMAScript 5 Strict Mode는 주요 브라우저 에이 버전을 필요로합니다.

크롬 13.0
사파리 5.1
Firefox 4.0
인터넷 익스플로러 10.0
오페라 11.6

아니요, IE9는 엄격한 지원이 없으며 버전 10 이상이 새로운 것입니다.

Opera 11.60은 이미 ECMAScript 5.1을 완전히 지원하며 엄격한 모드 변형입니다. @kangax 호환성 테이블을 참조하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top