[ 모던 자바스크립트 스터디 ] 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 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바