ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JavaScript] for .. in 문
    Java script 2023. 12. 7. 16:05

    for.. in 문을 이용하면 객체 내부에 있는 모든 프로퍼티들을 불러올 수 있다.

    for ( let 변수 in 객체) 

    객체의 프로퍼티를 하나씩 변수에 저장 (객체의 모든 프로퍼티들이 한번씩 선언한 변수에 저장된다)

    let myObject = {
      first: '알고리즘의 정석',
      'second class': '컴퓨터 개론',
      third: '프로그래밍 기초',
    };
    
    for (let key in myObject) {
      console.log(myObject[key]);
    }

     

    결과값

    알고리즘의 정석
    컴퓨터 개론
    프로그래밍 기초

    숫자형(양수) 프로퍼티 이름 사용 

    let myObject = {
      300: '정수',
      1.2: '소수',
    };
    
    // 이떄 300과 1.2의 type은 string

    숫자형 네임도 가능하다! 하지만 숫자형으로 저장되는 것이 아닌 문자열로 저장된다

    console.log(myObject['300']);
    console.log(myObject['1.2']);
    console.log(myObject.300); // Error!
    console.log(myObject.1.2); // Error!

    객체는 정수형 프로퍼티 네임을 오름차순으로 먼저 정렬하고, 나머지 프로퍼티들은 추가한 순서대로 정렬하는 특징

    let myObject = {
      3: '정수3',
      name: 'codeit',
      1: '정수1',
      birthDay: '2017.5.17',
      2: '정수2',
    };
    
    for (let key in myObject) {
      console.log(key);
    }

     

    결과값

    1
    2
    3
    name
    birthDay

     

    콘솔에 myObject를 출력하였을 때에도 결과값은 똑같다.

    {1: "정수1", 2: "정수2", 3: "정수3", name: "codeit", birthDay: "2017.5.17"}

     

    *주의*

    자동으로 정렬되는 특성이 장점처럼 느껴질 수도 있지만 대부분의 경우에는 의도치 않은 결과를 가져올 수 있다는 점