
141
5.6 기타 문
5.6
이 절에서는
with
,
debugger
,
"use strict"
문을 설명합니다.
5.6.1
with
문은 지정된 객체의 프로퍼티가 해당 블록의 스코프 안에 있는 변수인 것처럼
코드 블록을 실행합니다. 문법은 다음과 같습니다.
with (object)
statement
이 문은
object
(객체)의 프로퍼티를 사용해 임시 스코프를 만들고, 그 스코프 안에
서
statement
(문)을 실행합니다.
스트릭트 모드에서는
with
문을 금지합니다(5.6.3절). 스트릭트 모드가 아니더라
도 이 문은 폐기된 것으로 간주하고 사용하지 않아야 합니다.
with
를 사용하는 자
바스크립트 코드는 최적화하기 어려우며
with
문을 사용하지 않는 동등한 코드에
비해 상당히 느리게 동작합니다.
with
문을 사용하는 이유는 깊이 중첩된 객체 계층 구조에서 타이핑을 줄이기 위
해서입니다. 예를 들어 클라이언트 자바스크립트에서 HTML 폼의 요소에 접근하기
위해 다음과 같은 표현식을 써야 한다고 가정합시다.
document.forms[0].address.value
이런 표현식을 자주 써야 한다면 다음과 같이
with
문을 써서 폼 객체의 프로퍼티
를 변수처럼 취급할 수 있습니다.
with(document.forms[0]) ...