본문 바로가기

JavaScript

'use strict' 을 선언하는 이유

반응형

 

📄 자바스크립트 작성 시,

상단에 'use strict'; 를 선언하는 이유

 

 

why❓

 

 

자바스크립트 언어 만들 때 굉장히 빨리 만들어야 했다

굉장히 유연한 언어다

위험성이 높다

(ex) 선언되지 않은 변수에 값 할당이 가능하다, 기존에 존재하는 prototype을 변경할 수 있다.)

말도 안 되는 코드..

위 문제 개선을 위해 ECMA5에 추가됨

 

 

 

BAD

a=6; 
// 

- a=6; 정의되어 있지 않은 a 변수에 값을 할당했는데 에러가 생기지 않는다.

(이 출력 자체가 이상한 것이다..)

 

BAD

"use strict";
a = 6;

//error
// use.js:2 Uncaught ReferenceError: a is not defined at use.js:2

- 'use-stict';를 선언하게 되면, a는 정의되어 있지 않다고 에러가 뜬다.

 

GOOD

"use strict";
let a;
a = 6;

//

-  let a를 선언하게 되면 에러가 생기지 않는다.

 

 

 

 

📚 strict 모드로 개발 시 장점 

 

1. 조금 더 상식적인 범위 안에서 개발할 수 있다.

2. 자바스크립트 엔진이 더욱 효율적이고 빠르게 자바스크립트를 분석할 수 있다.

3. 실행하는 데 있어서 조금 더 나은 성능 개선까지 기대할 수 있다.

 

=> 작성하고 시작하기!!

(typeScript 쓸 때는 선언할 필요가 없는데 순수 바닐라 자바스크립트 사용 시는 꼭 작성하는 것이 좋다.)

 

'JavaScript' 카테고리의 다른 글

지뢰찾기 | ZeroCho  (0) 2020.10.13
스코프(scope), 스코프체인(scope chain), 클로저(closure)  (0) 2020.10.12
가위바위보 | ZeroCho  (0) 2020.10.09
로또추첨기 | ZeroCho  (0) 2020.10.06
이벤트 버블링, 캡처링  (0) 2020.10.04