• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

안녕하세요? 선생님?

20.04.17 10:40 작성 조회수 152

2

use strict관련하여 질문이 있습니다.

아래와 같이 작성후 실행하였는데 제가 생각한 결과가 나오지 않습니다.

"use strict";
try {
    books = "변수를 선언하지 않음";
    console.log(books);
catch(error) {
    console.log("run catch");
};
console.log("");

이렇게 하면 error를 캐치해서 "run catch"를 출력해야 할 것 같은데 "변수를 선언하지 않음"이 출력되네요. 제 환경에서 use strict가 적용이 되지 않는것 같습니다. 

제가 무얼 잘못 했거나 잘못 이해한 것일까요?

답변 5

·

답변을 작성해보세요.

2

MonoMono님의 프로필

MonoMono

2021.02.20

보통 아래 코드를 모두 작성하고 실행한 후에, 추가로 상단에 use strict를 삽입하고 파일을 저장했을때 콘솔 내에서 수정된 부분 로딩이 반영되지 않았을때 이런 현상이 일어납니다. 브라우저에서 새로고침 한번 눌러주니 run script가 출력되네요. 

1

vocolor님의 프로필

vocolor

질문자

2020.04.17

감사합니다. 선생님.

재미있게도 html 문서 안에서는 use strict가 잘 동작을 하는데 .js 문서 안에서는 var을 쓰든 안쓰든 결과가 동일하네요. 

더 공부해 보겠습니다!

0

네~~ 잊지 않고 경험을 공유해주어 고맙습니다.

0

작성된 소스 코드를 복사해서 두 가지 방법(html 파일, js 파일)으로 실행해 보았는데요, 모두 "run catch"가 출력됩니다. 크롬 최신 버젼에서 실행했습니다. 재미있는 모습이니 이유를 알게되면 공유해주세요.

0

안녕하세요. 
"use strict"를 선언하였을 때, 변수는 아래처럼 var 키워드를 사용해야 합니다. 
var books; 
books = "변수가 선언되어 있음";

또는 
var books = "var 키워드를 사용";

이외에도 있으며, use strict와 관련된 것은 MDN을 참조해주세요.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Strict_mode