본문 바로가기
끄적끄적

JS) 순수 자바스크립트를 쓸 때는 코드 맨 위에 'use strict'; 를 써주자

by 뇸뇸 nyomnyom 2022. 7. 28.

TypeScript를 쓸 때는 필요 없지만

순수 자바스크립트를 쓸 때는 꼭 쓰는게 좋다.

코드 제일 위에!

애매한 위치에 쓰면

   그 위에 코드들에게 적용 안될 수도 있음


자바스크립트는

브렌던 아이크(Brendan Eich)

우다다다다다 빨리 만든 언어로

굉장히 유연한(flexible) 언어이다.

 

근데 이 유연함이 때로는 위험을(dangerous) 불러온다.

자바스크립트는 선언 되지 않은 변수를 할당하거나

기존에 존재하는 프로토타입을 변경한다던지 비상식적인 행위를 할 수 있도록 만들어준다.


프로토타입이란?

내가 코딩애플 유튭 보면서 배운 바로는

일단 쉽게 유전자라고 생각하면 된다.

이게 비상식적이라는 이유는 

내가 태어났는데

성형을 하는게 아니라

다시 뱃속에 들어가서 유전자를 바꾼다는거다!!!

일단 이상함-,,- 


암튼 이렇게 되면 곤란하자나

그걸 방지하기 위해 우린 단호박이 되어야한다.

use strict를 사용해서

엄격 모드(Strict mode)로 바꿔준다.

( use strict :ECMAScript 5부터 추가된 use strict는 JS(자바스크립트)의 제한된 버전 )

 

Strict mode - JavaScript | MDN

엄격 모드는 평범한 JavaScript 시멘틱스에 몇가지 변경이 일어나게 합니다.

developer.mozilla.org

 

이렇게 내 사이트를

단호박 사이트로 만들어 줌으로써

기존의 내가 만든 의심쩍은

js 문법들도 바로 캐치해서

오류라고 알려준다. 

그래서 좀 더 정확한 코드를 작성할 수 있다.

그리고 당연히 이상한걸 고쳤으니 안전한 코드가 된다.

또한 이렇게 작성된 코드는 딱 필요한것만

효율적으로 딱딱 만들어진 상태이기 때문에

(이상하고 애매한 코드는 ㅃㅃㅇ한 상태)

자바스크립트 엔진이 자바스크립트를

쌰라라락 빨리 분석 함으로써

좀 더 나은 성능의 웹사이트를 맛볼 수 있다.

캬아아아아

 

'끄적끄적' 카테고리의 다른 글

JS) number,infinity,-infinity,NaN  (0) 2022.07.28
JS) Var hoisting이란?  (0) 2022.07.28
JS) Script async 이랑 defer 차이  (0) 2022.07.28
JS) 백준 : 10171번 답  (0) 2022.07.28
JS) 백준 : 10718번 답  (0) 2022.07.27

댓글