코드를 ES5 표준 모드 스크립트로 포팅
ES5 표준 모드는 호환성 모드가 허용하는 오류를 포착합니다.
ES5 표준 모드를 사용하여 기존 스크립트에서 새 범위 지정 스크립트로 코드를 포팅할 때 주의해야 할 사항.
ECMAScript5는 new Boolean(false) 항을 true로 평가합니다. 호환성 모드에서는 false로 평가되었습니다.
ECMAScript5는 존재하지 않는 속성이 참조될 때 EcmaError를 발생시킵니다. 호환 모드에서는 오류가 발생하지 않았습니다.
ECMAScript5는 존재하지 않는 함수가 호출될 때 EcmaError를 발생시킵니다. 호환 모드에서는 오류가 발생하지 않았습니다.
ECMAScript5는 새 줄을 올바르게 처리합니다. 과거에는 주석 뒤의 줄 바꿈 문자가 인식되었는데, 이는 잘못된 것입니다. 이 예제에서는 호환 모드에서 세 가지 함수가 모두 호출됩니다. ECMAScript5에서는 첫 번째 함수만 호출됩니다.
var expr = doFoo(); // do foo
doBar(); // do bar
finish(); // all done
eval(expr);
ECMAScript5는 접미사 증가 및 감소를 올바르게 처리합니다. 이 예제의 호환 모드에서 변수는 x 증가된 값을 가져오는데 이는 잘못된 것입니다.
var x = gr.limit++;