[JavaScript] use strict (엄격 모드)

일단 use strict를 사용하는 이유 세가지를 간단히 알아보면

1. 기존에는 무시될 수 있었던 에러들을 잡아낸다.

2. JavaScript 엔진의 최적화 작업을 어렵게 만드는 실수들을 바로 잡는다. 동일한 코드이더라도 비 엄격 모드 보다 엄격모드에서 더 빨리 동작한다.

3. 엄격 모드는 ECMAScript의 차기 버전들에서 정의 될 문법을 금지한다.



자바스크립트는 유연한 즉 flexible한 언어이다. 유연하다는점은 프로그래밍에있어서 많은 문제점을 발생시킬 수 있다. 

자바스크립트에서의 경우 선언되지 않은 변수에 값을 할당한다던지 기존에 존재하는 프로토타입을 변경한다던지와 같은 다른 언어에서는 볼 수 없는 유연함이 존재한다.

이러한 유연함을 제한해주는것이 'use strict' 이다.


a = 6;

console.log(a); // 6

이렇게 선언되지 않은 a라는 변수에 6을 대입하여 실행하면 






이처럼 6을 반환한다.


하지만 'use strict' 를 선언하면

'use strict'
a = 6;

console.log(a); // error


이렇게 에러를 발생한다.



이러한 'use strict' 를 사용하여 Strict Mode(엄격 모드)로 개발하게되면 자바스크립트 엔진이 조금 더 효율적으로 빠르게 자바스크립트를 분석할 수 있기 때문에

코드를 실행하는데 있어서 조금 더 나은 성능개선을 기대해볼 수 있으며 조금 더 견고하게 프로그램을 개발할 수 있다.


+ es6에서는 Strict Mode(엄격 모드)가 기본으로 설정되어 있기 때문에 'use strict'를 작성하지 않아도 Strict Mode로 실행된다.

댓글