프론트엔드 개발/JavaScript

자바스크립트) strict 모드

Ella Seon 2023. 6. 20. 09:00

0. strict 모드

오타나 문법 지식의 미비로 인한 실수를 줄여 안정적인 코드를 생산하기 위해 ES5에 추가된 모드이다.
strict mode는 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시킨다

 

🔸사용 방법

스크립트 최상단에 "use strict" 를 위치시킨다.

"use strict";

 

🔸strict 모드를 통해 예방할 수 있는 것

1️⃣암묵적 전역변수 예방

- 변수를 선언하지 않고 사용하는 암묵적인 전역 변수를 방지합니다.

- 변수를 명시적으로 선언하고 스코프를 지정함으로써 예기치 않은 변수 선언을 방지하고 코드의 가독성과 유지보수성을 향상시킵니다.

 

2️⃣ 함수의 동일한 매개 변수 이름을 선언하는 것 불가능

"use strict"

function testFunc(param1,param1){
	return 1;
}

3️⃣변수,함수, 매개변수의 'delete'의 제한

- strict 모드에서는 일부 객체의 속성이나 함수를 delete로 삭제할 수 없다.

이를 통해 의도하지 않은 속성 삭제를 방지하고 코드의 안정성을 높일 수 있다.

"use strict";
var testvar = 15;
function testFunc() {};
delete testvar;
delete testFunc;

Object.defineProperty(testObj, "testvar", {
    value: 10,
    configurable: false
    });
delete testObj.testvar;

 

 


https://whales.tistory.com/138

 

자바스크립트 엄격 모드(Strict mode)의 차이점

자바스크립트 ES5에서는 새로운 기능이 추가되고 기존 기능 중 일부가 변경되었습니다. 기존 기능을 변경하였기 때문에 하위 호환성 문제가 발생하게 되는데 이러한 문제를 대비해서 변경사항

whales.tistory.com