사용법
'use strict'
- 개별 함수에 스트릭트 모드를 적용할 수 있음
- 코드 전체를 스트릭트 모드로 바꿀 경우 문제가 생길 수 있는 구식 코드에서 작업할 때 스트릭트 함수를 사용하면 편리함
- 사용 효과
- 오류를 일으키기 쉽거나 문제를 일으킬 만한 기능들을 사용할 수 없게 만들 수 있음
- 문법의 하위 호환성이 유지되어, 스트릭트 모드 확인을 구현하지 않은 환경에서도 엄격한(스트릭트 모드의) 코드를 실행할 수 있게 함
스트릭트 모드 : 권장하지만 , 주의해야 함
- 일반적으로는 스트릭트 모드가 모든 면에서 더 나음
- 따라서 새로 작성하는 코드라면 스트릭트 모드를 쓰길 권함
주의점
- 기존 코드에 스트릭트 모드를 적용하면 잘못될 수 있다
- 패키지를 만들 때 조심해야 한다
파일을 병합하거나 최소화 할 때
스트릭트 모드가 켜져야 하는데 꺼지거나, 그 반대가 되지 않게 주의해야 함. 어느 쪽이든 코드에 문제가 생길 수 있음
스트릭트 모드 기능
- 스트릭트 모드에서는 변수를 반드시 선언해야 한다 (엉성한 모드에서는 선언하지 않은 변수는 전역변수에 할당함)
- 불변 프로퍼티를 설정 및 삭제하려 하면 예외가 일어남
var str = 'abc'; str.length = 7 // TypeError : Cannot assign to read-only property 'length'
스트릭트 모드 함수
- 함수는 반드시 스코프 최상위에서 선언해야 함
- 함수 매개변수에 관한 규칙이 더 엄격함
- arguments 객체 프로퍼티가 줄어들었음
- 메서드가 아닌 함수에서는 this가 undefined임