[ 모던 자바스크립트 스터디 ] strict mode

2022. 10. 2. 09:58·Archive/Develop
728x90
반응형
function foo() {
	x = 10;
}
foo();

console.log(x);

 

foo 함수 내에 선언되지 않은 x 에 값을 할당했을 때,

에러가 나야할 것 같지만 자바스크립트는 이 x 를 암묵적으로 전역 객체에 동적 생성한다.

 

이런 현상을 암묵적 전역이라고 한다.

 

이런 현상을 막으려 var, let, const 키워드를 사용하지만,

실수는 언제나 발생할 수 있기 때문에 ES5 부터 엄격모드(strict mode)  가 추가되었다.

 

ESLint  같은 정적 분석 툴을 사용해도 strict mode 와 동일한 효과를 줄 수 있으니 참고하자.

 

 

ES6 에서 도입된 클래스와 모듈은 기본적으로 strict mode 가 적용된다.

 

 

strict mode 적용

 

함수 몸체의 맨 위에 'use strict'; 을 추가하면 된다.

물론 전역의 맨 위에 사용하면 스크립트 전체에 엄격모드가 적용된다.

서드파티 라이브러리가 non-strict mode 일수도 있기 때문에 전역보다는

즉시 실행 함수로 스크립트를 감싸 스크립트를 구분하고,

즉시 실행 함수의 위에 strict mode 를 적용하는게 바람직하다.

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ 모던 자바스크립트 스터디 ] 프로토타입 - 2  (0) 2022.10.02
[ 모던 자바스크립트 스터디 ] 프로토타입 - 1  (0) 2022.10.02
[ 모던 자바스크립트 스터디 ] 왜 __proto__ 접근자 프로퍼티를 통해 접근하는가?  (0) 2022.10.02
[ NestJS ] 의존성 문제 발생 케이스 기록  (0) 2022.09.28
[ 모던 자바스크립트 스터디 ] 프로토타입  (0) 2022.09.28
'Archive/Develop' 카테고리의 다른 글
  • [ 모던 자바스크립트 스터디 ] 프로토타입 - 2
  • [ 모던 자바스크립트 스터디 ] 프로토타입 - 1
  • [ 모던 자바스크립트 스터디 ] 왜 __proto__ 접근자 프로퍼티를 통해 접근하는가?
  • [ NestJS ] 의존성 문제 발생 케이스 기록
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    자바스크립트 API
    oracle db
    javascript
    코드업 기초
    코드업
    백준 파이썬
    장고
    백준 풀이
    파이썬 문제
    카카오 100일 프로젝트
    Codeup
    자바스크립트
    Git
    오라클
    파이썬
    백준
    파이썬 기초
    자바스크립트 객체
    백준 문제풀이
    Python
    비박스
    파이썬 기초 문제
    코드업 파이썬 기초 100제
    파이썬 알고리즘
    파이썬 백준
    docker
    Oracle
    C++
    보안뉴스
    Django
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ 모던 자바스크립트 스터디 ] strict mode
상단으로

티스토리툴바