개발공작소
article thumbnail
Published 2021. 4. 12. 14:55
JavaScript 메모2 FrontEnd/JavaScript
728x90
반응형

 

문이란 어떤 작업을 수행하는 문법구조와 명령어를 의미한다.

보통 문은 세미콜론으로 구분 짓는다.

 

와 같이 각 문을 구분지어 실행된다.

하지만 javascript에서는 줄바꿈을 하면 세미콜론을 작성하지 않아도 정상적으로 실행이 된다.

이를 '암시적' 세미콜론 이라고 하며, 이런 동작방식을 세미콜론 자동삽입 이라고 한다. ( 연산 등의 특정문은 제외 )

 

세미콜론이 없어도 해당 소스는    정상적으로 실행됨

하지만 몇몇 예외 조건들이 있고 줄바꿈을 하더라도 기본적으로 세미콜론을 붙이는 것이 좋다.

-----------------------------------------------------------------------------------------------------------------------------------

 

엄격모드('use strict')

ES5에서 새로 추가 된 기능으로 "script의 예외 처리를 더욱 철저히 하겠다." 라는 의미로 ES4까지 묵인했던 에러들을

더욱 철저히 검사하겠다는 의미로

'use strict' 또는 "use strict" 를 document 최상단에 위치 시킴으로써 모던한 javascript가 되게 해준다.  

(함수 위에 선언하면 해당 함수만 엄격모드로 실행시킬 수 있지만 보통 소스 최상단에 위치 시키는 것을 기본으로 한다.)

 

※ 개발자 콘솔에서는 'use strict'가 기본적으로 사용되지 않기 때문에 콘솔에 'use strict'를 직접 입력해주어야 한다.

위와 같이 콘솔에서 엄격모드를 사용가능 하며, 'use strict'를 작성한 뒤 Shift + Entet을 이용하여 줄바꿈을 한 뒤 명령어를 입력하면 된다.

test1은 변수를 선언하지 않았지만, 엄격모드가 아니기 때문에 그냥 실행되었다.

test2는 엄격모드에서 실행되었기 때문에 선언되지 않은 변수라는 에러가 떴다.

 

ES6 부터는 'use strict'가 기본값으로 되어 있어서 사용 할 필요가 없다.

728x90
반응형
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!