HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/
NodeJs
NodeJs
/
Javascript
Javascript
/
5️⃣
스트릭트 모드(use strict)
5️⃣

스트릭트 모드(use strict)

사용법

'use strict'
스트릭트 모드를 켜려면 위 코드를 자바스크립트 파일 or <script> 요소 내부의 첫 행에 작성
  • 개별 함수에 스트릭트 모드를 적용할 수 있음
    • 코드 전체를 스트릭트 모드로 바꿀 경우 문제가 생길 수 있는 구식 코드에서 작업할 때 스트릭트 함수를 사용하면 편리함
  • 사용 효과
    • 오류를 일으키기 쉽거나 문제를 일으킬 만한 기능들을 사용할 수 없게 만들 수 있음
    • 문법의 하위 호환성이 유지되어, 스트릭트 모드 확인을 구현하지 않은 환경에서도 엄격한(스트릭트 모드의) 코드를 실행할 수 있게 함

스트릭트 모드 : 권장하지만 , 주의해야 함

  • 일반적으로는 스트릭트 모드가 모든 면에서 더 나음
    • 따라서 새로 작성하는 코드라면 스트릭트 모드를 쓰길 권함

주의점


  • 기존 코드에 스트릭트 모드를 적용하면 잘못될 수 있다
  • 패키지를 만들 때 조심해야 한다
    • 파일을 병합하거나 최소화 할 때 스트릭트 모드가 켜져야 하는데 꺼지거나, 그 반대가 되지 않게 주의해야 함. 어느 쪽이든 코드에 문제가 생길 수 있음
 

스트릭트 모드 기능

  • 스트릭트 모드에서는 변수를 반드시 선언해야 한다 (엉성한 모드에서는 선언하지 않은 변수는 전역변수에 할당함)
  • 불변 프로퍼티를 설정 및 삭제하려 하면 예외가 일어남
var str = 'abc'; str.length = 7 // TypeError : Cannot assign to read-only property 'length'

스트릭트 모드 함수

  • 함수는 반드시 스코프 최상위에서 선언해야 함
  • 함수 매개변수에 관한 규칙이 더 엄격함
    • arguments 객체 프로퍼티가 줄어들었음
    • 메서드가 아닌 함수에서는 this가 undefined임