Blog Content

    티스토리 뷰

    [javascript] use strict 란 무엇인가? 사용해야 하는 이유

    Use Strict, 넌 도대체 무엇이니?

    "use strict"란 JavaScript 코드가 "strict mode"에서 실행되어야 한다고 정의하는 것입니다.

    "use strict"는 JavaScript 1.8.5 (ECMAScript 버전 5) 의 새로운 기능입니다.

    "use strict"를 사용하는 목적은 코드가 "strict mode"로 실행되어야 함을 나타내기 위한 것인데요.

    이 모드에서는 선언되지 않은 변수를 사용할 수 없습니다.

    Strict mode 지원 범위는

    IE 10이상, Firefox 4이상, Chrome 13이상, Safari 5.1이상, Opera 12이상이다.


    선언 방법

    script나 함수의 처음 부분에 "use strict"를 추가하여 선언하면 됩니다.

    script처음 부분에 선언하면 전역에 strict 모드가 적용됩니다. 스크립트의 모든 부분에 적용된다는 소리입니다.


    1
    2
    3
    4
    5
    6
    "use strict";
    myFunction();
     
    function myFunction() {
        y = 3.14;   // This will also cause an error because y is not declared
    }
    cs



    함수 내부에 선언하면 그 함수의 범위에만 적용됩니다.

    1
    2
    3
    4
    5
    6
    7
    = 3.14;       // This will not cause an error. 
    myFunction();
     
    function myFunction() {
       "use strict";
        y = 3.14;   // This will cause an error
    }
    cs

    Strict 모드를 왜 사용해야하는가?

    좀 더 안전하게 JavaScript를 쉽게 작성할 수 있다고 합니다.

    이전 JavaScript 버전에서 허용되었던 "잘못된 구문"을 오류로 내뱉어주는데요.

    예를 들면, 보통 변수 이름을 잘못 입력하면 새로운 전역변수가 만들어지는데,

    Strict 모드에서는 실수로 전역 변수를 만들 수 없으므로

    오류를 발생시켜서 사용자에게 잘못된 변수 선언임을 알려주는 것입니다.


    JavaScript를 사용해보신 개발자들이라면 알겠지만,

    JavaScript가 사용하기 쉬운 언어인 반면

    오류에 대한 피드백은 잘 해주지 않는 경향이 있어요.

    그래서 이 strict mode를 사용하게 되면 좀 더 안전하게 코딩할 수 있다네요.


    * 주의

    "use strict" 명령어는 스크립트나 함수의 시작 부분에서만 인식됩니다.



    참고 : https://www.w3schools.com/js/js_strict.asp



    Comments