Javascript 반복문

김동완·2022년 4월 25일
0

javascript

목록 보기
7/22
post-thumbnail

JavaScript 기초

반복문

반복문 종류와 특징

  • while
  • for
  • for ... in
    • 주로 객체(obejct)의 속성들을 순회할 때 사용
    • 배열도 순회 가능하지만 인덱스 순으로 순회한다는 보장이 없으므로 권장하지 않음
  • for ... of
    • 반복 가능한(iterable)객체를 순회하며 값을 꺼낼 때사용
      • Array, Map, Set, string 등

while

  • 조건문이 참인 동안 반복 시행
  • 조건은 소괄호 안에 작성
  • 실행할 코드는 중괄호 안에 작성
  • 블록 스코프 생성
while (condition) {
    //do something
}
let i =0
while (i<6) {
    console.log(i) //0,1,2,3,4,5
    i += 1 
}

for

  • 세미콜론(;)으로 구분되는 세 부분으로 구성
  • initialization
    • 최초 반복문 진입 시 1회만 실행되는 부분
  • condition
    • 매 반복 시행 전 평가되는 부분
  • expression
    • 매 반복 시행 이후 평가되는 부분
  • 블록 스코프 생성
for (initialization; condition; expression){
    //do something
}
for (let i=0; i<6; i++) {
    console.log(i) //0,1,2,3,4,5,6
}
//1. 반복문 진입 및 변수 i 선언 (let i =0;)
//2. 조건문 평가 후 코드 블럭 실행 (i<6)
//3. 코드 블록 실행 이후 i 값 증가(i ++)

for ..in

  • 객체(obejct)의 속성(key)들을 순회할 때사용
    • javascript에서 객체는 dictionary를 의미하는 경우가 많다.
  • 배열도 순회 가능하지만 권장하지 않음
  • 실행할 코드는 중괄호 안에 작성
  • 블록 스코프 생성
for (variable in object) {
    //do something
}
// object(객체) > key-value로 이루어진 자료 구조
const capitals = {
    korea : 'seoul',
    france : 'paris',
    USA : 'washington D.C.'
}

for (let nation in capitals){
    console.log(nation) //korea, france, USA
}
for (let nation in capitals){
    console.log(capitals[nation]) //seoul, paris,washington D.C
}

for ...of

  • 반복 가능한(iterable) 객체를 순회하며 값을 꺼낼 때 사용
  • 실행할 코드는 중괄호 안에 작성
  • 블록 스코프 생성
for (variable of iterables) {
    //do something
}
const fruits = ['딸기', '바나나','메론']
for (let fruit of fruits) {
    fruit = fruit + '!'
    console.log(fruit)
}

for (const fruit of fruits) {
    //재할당 불가
    console.log(fruit)
}

for ...in vs for ...of

  • for ...in(객체 순회 적합)
///aray
const fruits = ['딸기', '바나나','메론']

for (let fruit in fruits) {
    console.log(fruit) //0,1,2
}

//object
const capitals = {
    korea : 'seoul',
    france : 'paris',
    USA : 'washington D.C.',
}

for (let capital in capitals){
    console.log(capital) //korea, france, USA
}
const capitals = {
    korea : 'seoul',
    france : 'paris',
    USA : 'washington D.C.',
}

for (let capital in capitals){
    console.log(capitals[capital]) // seoul, paris,washington D.C
}
  • for ...of(배열 순회 적합)
//object
const capitals = {
    korea : 'seoul',
    france : 'paris',
    USA : 'washington D.C.'
}

for (let capital in capitals){
    console.log(capital) //korea, france, USA
}const fruits = ['딸기', '바나나','메론']
for (let fruit of fruits) {
    console.log(fruit) ///딸기, 바나나, 메론
}

//object
const capitals = {
    korea : 'seoul',
    france : 'paris',
    USA : 'washington D.C.'
}

for (let capital in capitals){
    console.log(capital) // Uncaught TypeError : capital is not iteralbe
}

조건문과 반복문 정리

키워드종류연관 키워드스코프
if조건문-블록스코프
switch조건문case, break, default블록스코프
while반복문break, continue블록스코프
for반복문break, continue블록스코프
for ... in반복문객체 순회블록스코프
for ... of반복문배열등 iterable순회블록스코프
profile
내가 공부한 내용들이 누군가에게 도움이 될지 몰라서 쓰는 벨로그

0개의 댓글