╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Javascript/Javascript 기초

[Javascript] 루프와 반복 (loop and iteration)

재안안 2022. 5. 5. 20:26

자바 스크립트에서도 다른 프로그래밍 언어와 같이 반복문을 사용하여

특정한 명령의 실행을 반복시킬 수 있다.

 

for, while과 같은 키워드를 사용하는 것은 동일하다.

 

for문부터 바로 예제를 통해 알아보겠다.

 

for
console

 

기존에 알고있던 for문과 특히 다를 것이 없다.

변수(i)에 대한 조건식으로 반복횟수를 정하는 방법이다.

 

자바스크립트에선 다른 형태의 for문도 있다.

  • for in
  • for of

 

다음으로 for in 문에 대해 알아보겠다.

 

for in문은 하나의 변수를 통해서 객체를 순회(iterate)한다.

임의의 변수와 순회할 객체(enumerable)를 인자로 받는다. 

 

아래의 예제를 통해 설명하겠다.

 

for in
console

분명 for in은 객체를 순회한다고 했다.

코드의 의도는 array의 각 요소들의 출력이였다.

그런데 콘솔을 보면 교소의 값 대신 인덱스가 출력된 것을 알 수 있다.

 

인덱스가 출력된 이유로 파이썬의 dictionary에 비교하여 설명하면 보다 쉽게 이해할 수 있다.

(자바의 HashMap과도 같다.)

 

for in
console

 

해당 예제에는 파이썬의 dictionary와 비슷하게 선언된 dictionaryAlike가 있다.

 

dictionaryAlike에는 key : value의 관계를 가진 요소들이 있다.

(엄연히 말하자면 파이썬의 dictionary와는 다르다.)

 

for in을 사용해 dictionaryAlike를 순회하면 i는 key를 가르키게 된다.

그리고 dictionaryAlike[key]를 사용해 값을 가져올 수 있다.

 

배열에서 for in을 사용할 경우

key는 0,1,2 . . . 인덱스가 된다.

이처럼 for in은 객체를 순회할 때 사용하지만 순회할 객체가 배열이라면 for문을 사용하는 것이 더 나을 수 있다.

 

 

만약 객체의 요소값에 접근하고 싶다면 for of문을 사용할 수 있다.

 

for of
console

for of를 이용하면 바로 요소의 값에 대한 접근이 가능한 것을 알 수 있다.

 

 

이제 while문에 대해 알아보겠다.

 

while문 또한 다른 프로그래밍 언어와 같다.

 

조건식이 참일 때 반복하고 거짓일 때 반복을 종료한다.

 

while
console

 

또한 자바스크립트에서도 breakcontinue의 사용이 가능하다.

 

break를 사용하면 해당 반복문을 탈출하고

 

continue를 사용하면 해당 조건에서 다음 조건으로 넘어간다.