반응형

자바스크립트 개발 환경 Microsoft Visual Studio 2015 버전 HTML 기능 및 Chrome을 이용하고 있습니다.





자바스크립트에서는 use strict라는 개념이 있다.


예전 버전에서는 존재하지 않았지만 최근 버전부터는 사용할 수 있다.


use strict라는건 자바스크립트 코드를 좀 더 엄격하게 다뤄주기 위해 쓰는 것이다.



Strict mode is supported in:
IE from version 10. Firefox from version 4.
Chrome from version 13. Safari from version 5.1.
Opera from version 12.

( use strict를 이용할 수 있는 인터넷 버전 )



이제 그럼 use strict를 어떻게 쓰는지 알아보자.


(이번 게시물은 직접 코드를 옮겨 확인해보아야 합니다. 제가 따로 올려둔 예제는 없습니다.)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
    <head>
        <title>test title</title>
    </head>
 
    <body>
        <h2> JavaScript </h2>
 
        <p id="test">자바 스크립트</p>
 
        <script>
            "use strict";
            x = "hello world";
 
            alert(x);
        </script>
 
    </body>
</html>
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
cs


위와 같이 "use strict"라고 선언하면 어떻게 될까?


이 코드를 실행시켜 크롬에서 F12번을 눌러 에러를 보자.


에러는 다음과 같을 것이다.


'x가 아직 정의 안돼서 저렇게 쓰면 안되는데요??'


만약 "use strict"가 없다면 실행이 될까?


자바스크립트 특성상 바로 실행이 되어 alert()에 의해 hello world가 실행된다.




두번째로 다음과 같이 x는 전역으로 y는 지역으로 나타내되 y 위에는 "use strict"를 적어보자.


이렇게 한다면 결과값은 x만 alert가 됨을 알 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html>
    <head>
        <title>test title</title>
    </head>
 
    <body>
        <h2> JavaScript </h2>
 
        <p id="test">자바 스크립트</p>
 
        <script>
            x = "hello world";
 
            alert(x);
            
 
            function func() {
  "use strict";
                y = "me too";
                alert(y);
            }
        </script>
 
    </body>
</html>
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
cs




왜 use strict를 이용한 strict mode를 이용할까??


Why Strict Mode?


결국 더 엄격하고, 더 보안이 강한 자바스크립트 코드를 만들어내기 위함이다.


위의 코드처럼 전역변수도 자동적으로 생성됨을 방지할 수 있고, 캡슐화를 더 강하게 할 수 있게된다.


결국 코드를 애초부터 어긋나지 않은 선에서 작성하던가, 아니면 use strict를 이용하여 코드의 예외적 처리를 최대한 줄여주도록 한다.

 



더 자세하고 많은 내용을 알기 위해서는 


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


위의 링크를 참조해보도록 하자.
















반응형