Introduction
"use strict"
는 ES5에서 새롭게 나온 directive입니다. 실제 수행 문장이 아니라 literal expression이기 때문에 이전 버전의 JavaScript에서는 무시됩니다.
일반적으로 JavaScript 코드 최 상단에 이 “use strict”가 위치하는데 이 의미에 대해서 간단하게 정리해 봤습니다.
“use strict”를 써야하는 이유
“use strict”의 목적은 우리의 코드가 strict mode
로 실행되게끔 지시하는 것입니다. 여기서 말하는 strict mode란 프로그램 실행 시 예외를 발생시킬 만한 몇가지 특이한 동작을 수행할 수 없도록 엄격한 제한이 걸려있는 실행 context
를 지칭합니다. 즉, 일반적으로 동작하는 코드를 “use strict”를 이용하면 에러가 발생할 수 있다는 말이지요.
“use strict”는 함수별로 따로 지정할 수 있습니다. 즉, 함수내부에 “use strict”를 선언하면 해당 함수는 strict mode로 실행되게 됩니다.
몇가지 예를 들어보죠.
"use strict";
x = 100; // x가 선언되지 않았기 때문에 error 발생
console.log(x);
x = 3.14; // strict mode가 아니기 때문에 에러 아님.
function myFunction() {
"use strict"; y = 3.14; // y가 선언되지 않았기 때문에 에러 발생
}
myFunction();
"use strict";
var x = 3.14;
delete x; // strict mode에서는 delete를 사용할 수 없다.
"use strict";
var public = 1500; // strict mode에서는 키워드로 변수명을 쓸수 없다.
그 외의 예로는 함수의 매개변수의 리스트에서 중복된 부분이 있을 때 오류를 발생시키고 동일한 라이브러리를 중복해서 로딩하는 경우 에러를 발생시킵니다. (예를 들면, jQuery
library 중복로딩 )
결론적으로 잠재적인 오류가 발생할 수 있는 여지를 막아주도록 코드에 대한 문법 사항을 엄걱하게 지키도록 하는 directive정도로 인식하시면 될 듯 합니다.
결론은 고민하지 말고 무조건 써야된다!! 입니다. ^^
이 포스트의 내용은 w3schools.com을 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 해당 사이트를 방문하세요!!
End.
제목 | 날짜 | |||
---|---|---|---|---|
코딩을 배울 수 있는 사이트 | 2015/08/24 | 526 | 0 | |
14 | [스크랩] 2015년도 개발 트렌트 - 프론트엔드 개발자의 입지가 점점 중요 | 2015/10/06 | 205 | 0 |
13 | [팁테크] 모바일웹 개발시 알아두면 유용한 8가지 | 2015/09/22 | 190 | 0 |
12 | [뉴스] [공개SW 활용사례] 유에프오팩토리, 공개SW로 ‘소셜 임팩트’를 | 2015/09/22 | 131 | 0 |
11 | [전자정부표준프레임워크] 전자정부 표준프레임워크 신규버전(Ver3.5) 출시 | 2015/09/22 | 217 | 0 |
10 | [뉴스] 모바일 시대 'BaaS' 뜬다는데…"국내에서 봐쓰(BaaS)?" | 2015/09/21 | 146 | 0 |
9 | [스크랩] 웹개발 관련 기술 뉴스 #39 : 15-09-15 | 2015/09/15 | 211 | 0 |
8 | [스크랩] ‘데이터’를 똑똑하게 만드는 오픈소스 기술 12종 | 2015/09/14 | 218 | 0 |
7 | [퍼블톡] 하이브리드앱 UI 프레임워크 비교 (무한열정(over****), 2015.08.13) [2] | 2015/08/31 | 1843 | 0 |
6 | [뉴스] 삼성전자 IOT를 위한 자바스크립트 플랫폼 iotjs(JerryScript)공개 | 2015/08/27 | 173 | 0 |
5 | [퍼블톡] 개발에 새로운 힘을 부여하는 '프로그래밍 언어 분기' | 2015/08/26 | 125 | 0 |
4 | [자료공유] [템플릿] 메트로 UI 템플릿 | 2015/08/20 | 115 | 0 |
3 | [스크랩] 프론트 엔트 개발자가 익혀야할 스킬들 | 2015/08/12 | 412 | 0 |
2 | [퍼블톡] 라이브코딩 채널 개설했습니다. [2] | 2015/08/09 | 168 | 0 |
1 | [스크랩] [스크랩] [번역] 프론트엔드 개발자는 왜 구하기 어렵나요? | 2015/06/21 | 285 | 0 |