ECMA 스크립트는 버젼이 바뀌면서 새로운 기능들과 요소들을 추가하게 되는데 만약 당신이 이러한 요소들을을 고려하지 않고 미래에 쓰일 Identifier들이나 키워드들을 지금 당장의 편의를 위해서 사용해버리면 추후에 많은 에러를 양산하게 될 수도 있고 결국 이는 모든 코드의 재 검사, 재 작성으로 이어지게 된다.
또한, 웹브라우져들은 각각 다른 내장 자바스크립트 엔진을 사용하는데
Mozila Firefox = SpiderMonkey이런 엔진에 따라 인터넷 익스플로러에서 작동하는 코드가 다른 브라우져에서 작동하지 않는 경우가 발생할 수도 있다. 문제는 개발환경이 매우 다양한 자바스크립트 개발과정에서 이러한 기준을 정한채 개발하는게 초보 개발자들에게는 어렵다는건데,
Google Chrome = V8
Internet Explorer = Chakra
이러한 이유에서인지 ECMAScript 5에 들어서 Strict mode 라는게 생겼다. 이 Strict Mode는 코드 컴파일시 ECMA Script의 문법 요소들과 Reserved Keyword 들의 미사용을 철저하게 강요해 일반 실행 모드보다 더 많은 예외(Exception)들을 발생시키게하여 궁극적으로는 안전한 자바스크립트 코드를 작성하는데 목적을 두고 있다.
Strict Mode 는 아래와 같이 실행이 가능하다.
"use strict";//이 컨텍스트에서 스트릭트 모드를 사용한다
function testFunction()
{
"use strict";
//이 컨텍스트에서 스트릭트 모드를 사용한다. 후에 이 function 실행이 종료되면 strict mode도 종료된다.
alert("STRICT MODE");
}
아래는 브라우져들의 Strict Mode를 지원 현황이다. 초록색으로 표시된 버젼들이 모두 지원하는 버젼들이니, 거의 대부분의 브라우져들이 지원한다고 보면 된다. 클릭하면 크게 볼 수 있다출처: http://caniuse.com/#search=strict%20mode
Strict Mode는 거의 대부분의 브라우져들이 지원하니 코드 작성시에 strict mode 를 사용해서 안전한 자바스크립트 코드를 작성하자.
댓글 없음:
댓글 쓰기