※ 본 내용은 해당 교재를 참고하여 공부한 내용과 본인의 생각을 정리한 글입니다.
https://www.yes24.com/Product/Goods/105608999
바닐라 자바스크립트 - 예스24
실무 역량까지 한 번에 잡을 수 있는바닐라 자바스크립트 이론서자바스크립트는 이제 브라우저를 넘어 웹 애플리케이션뿐만 아니라 마이크로 컨트롤러까지 점점 사용하는 곳이 늘어나고 있다.
www.yes24.com
자바스크립트에서 문법을 엄격하게 체크하는 모드이다. 자바스크립트는 초창기 불완전한 기능이 존재함에도 불구하고 버전이 업그레이드될 때마다 기존 기능에 대한 수정 없이 새로운 기능이 추가되었다. 기존 기능이 변경되다 보니 하위 버전에 대한 호환성 문제가 발생된다. 그래서 ES5에서 엄격 모드가 추가된다. 엄격 모드는 그동안 암묵적으로 허용했던 불완전한 코드에 대한 문법을 엄격하게 검사하게 된다. 엄격 모드는 자바스크립트 전체 코드 또는 부분 함수에 적용이 가능하다.
엄격 모드는 "use strict" 지시자를 선언해서 사용할 수 있다.
다음 예제처럼 함수 안에서만 엄격 모드를 사용할 수도 있다.
<!DOCTYPE html>
<html>
<head>
<title>Document</title>
</head>
<body>
<script>
/*strict mode
아래 작성되는 모든 스크립트에 대해서 엄격 모드 적용*/
"use strict"; //엄격 모드 지시자
x = 3.14; // 선언자를 사용하지 않았으므로 에러가 발생
//x = 3.14; // 지시자가 없을 경우 에러가 발생하지 않는다.
console.log(x);
function myFunction() {
"use strict"; // 함수 안에서만 엄격 모드 적용
y = 2; // 선언자를 사용하지 않았으므로 에러가 발생
}
myFunction();
</script>
</body>
</html>
위 코드에서 밑에 부분은 원래 x = 3.14; x가 함수 위에 있었었는데 밑에 있는게 더 와닿을거 같아서 밑에서는 위치를 바꿔서 작성했다.
<!DOCTYPE html>
<html>
<head>
<title>Document</title>
</head>
<body>
<script>
/*strict mode
아래 작성되는 모든 스크립트에 대해서 엄격 모드 적용*/
//"use strict"; //엄격 모드 지시자
//x = 3.14; // 선언자를 사용하지 않았으므로 에러가 발생
function myFunction() {
"use strict"; // 함수 안에서만 엄격 모드 적용
y = 2; // 선언자를 사용하지 않았으므로 에러가 발생
}
x = 3.14; // 지시자가 없을 경우 에러가 발생하지 않는다.
console.log(x);
myFunction();
</script>
</body>
</html>
'02. JavaScript > 01. 기본개념, 문법 (ES6)' 카테고리의 다른 글
JavaScript_03. 내장 객체_Object (0) | 2023.11.27 |
---|---|
JavaScript_02. 문법_18_Regular Expression (정규 표현식) (0) | 2023.11.27 |
JavaScript_02. 문법_16_Error (0) | 2023.11.27 |
JavaScript_02. 문법_15_Class (0) | 2023.11.27 |
JavaScript_02. 문법_14_Modules (0) | 2023.11.27 |