ECMAScript with 문

태그화된 문

with 문은 코드가 특정 객체의 스코프에서 실행되도록 설정하는 데 사용됩니다.

그 문법:

with (expression) statement

예를 들어:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase());	// "HELLO" 출력
}

이 예제에서 with 문은 문자열에 사용되었기 때문에 toUpperCase() 메서드를 호출할 때, 해석 프로그램은 이 메서드가 로컬 함수인지 확인합니다. 아니라면, pseudo-object sMessage가 이 객체의 메서드인지 확인합니다. 그런 다음, alert는 "HELLO"를 출력합니다. 해석 프로그램이 문자열 "hello"의 toUpperCase() 메서드를 찾았기 때문입니다.

훌륭한 조언:with 문은 속도가 느리는 코드 블록입니다. 특히 속성 값이 설정되어 있는 경우에 특히 그렇습니다. 대부분의 경우, 가능하다면 이를 피하는 것이 좋습니다.