This is an archived page. It's not actively maintained.

The for statement is deprecated as the part of ECMA-357 (E4X) standard. E4X support has been removed. Consider using for...of instead.

Firefox now warns about the usage of for and it no longer works starting with Firefox 57.
Please see Warning: JavaScript 1.6's for-each-in loops are deprecated for migration help.

for 문은 객체의 모든 속성 값에 대해 지정된 변수를 반복합니다. 각각의 고유한 특성에 대해 지정된 명령문이 실행됩니다.


for each (variable in object) {
var 키워드로 선택적으로 선언된 속성 값을 반복하는 변수입니다. 이 변수는 루프가 아니라 함수의 local이 됩니다.
반복될 객체입니다.
각 속성에 대해 실행할 명령문입니다. 루프 내에서 여러 명령문을 실행하려면 블록 명령문 ({...})을 사용하여 해당 명령문을 그룹화하십시오.


일부 기본 제공 속성은 반복되지 않습니다. 여기에는 객체 기본 제공 메서드 전부가 포함됩니다.

ex) String의 indexOf 메소드.

그러나 사용자가 정의한 모든 속성은 반복됩니다.


Using for

Warning: Never use a loop like this on arrays. Only use it on objects. See for more details.

The following snippet iterates over an object's properties, calculating their sum:

var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};

for each (var item in obj) {
  sum += item;

console.log(sum); // logs "26", which is 5+13+8


Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.

Browser compatibility

No compatibility data found. Please contribute data for "javascript.statements.for_each_in" (depth: 1) to the MDN compatibility data repository.

See also

  • - a similar statement that iterates over the property names.
  • for...of - a similar statement that iterates over the property values but can only be used for iteratable types, so not for generic objects
  • for