Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 엄격 모드(Strict Mode)란? 주요 특징과 사용법

자바스크립트 엄격 모드(Strict Mode)란?

엄격 모드(Strict Mode)는 ES5(ECMAScript 5)에서 도입된 기능으로, 프로그램 전체 또는 특정 함수를 더 엄격한 실행 환경에서 동작하도록 설정하는 방법입니다.

엄격 모드가 적용된 컨텍스트에서는 기존에 조용히 통과되던 일부 동작들이 금지되고, 오류 발생 시 더 많은 예외(exception)를 던져 개발자에게 구체적인 정보를 제공합니다. 이를 통해 잠재적인 버그를 조기에 발견하고 더 안전하고 견고한 코드를 작성할 수 있습니다.

엄격 모드의 주요 특징

  • 선언되지 않은 변수 할당 금지: var, let, const 없이 foo = "bar";처럼 변수를 선언하지 않고 곧바로 값을 할당하면 에러가 발생합니다. 비엄격 모드에서는 자동으로 전역 변수가 생성되지만, 엄격 모드에서는 이러한 실수를 허용하지 않습니다.
  • eval 사용 제한: 엄격 모드 환경에서는 eval의 사용이 제한됩니다.
  • arguments 재할당 불가: 함수 내부에서 arguments 객체(배열)의 값을 다시 할당하는 것이 허용되지 않습니다.
  • with 문 사용 금지: 코드의 가독성과 성능에 악영향을 주는 with 문은 엄격 모드에서 사용할 수 없습니다.

엄격 모드 적용 방법

스크립트 전체에 엄격 모드를 적용하려면 스크립트 최상단에 다음 한 줄을 추가하기만 하면 됩니다.

"use strict";

반대로 특정 함수에만 엄격 모드를 적용하고 싶다면, 해당 함수 본문의 첫 번째 줄에 선언하면 됩니다.

function strictFunc() {
"use strict";
// 나머지 함수 코드
}

이처럼 엄격 모드는 실수로 인한 전역 변수 생성이나 안전하지 않은 문법 사용을 사전에 차단해 주므로, 현대 자바스크립트 개발에서는 대부분의 프로젝트에서 기본적으로 활성화해 사용하는 것이 권장됩니다.