• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Object] JS - Object Display - 객체 표시(=출력)

목차

  1. JS 객체 표시 방법
  2. JS 객체 속성 표시
  3. 반복문 이용해 객체 표시
  4. Object.values() 메서드 - (객체 → 배열) 변환
  5. JSON.stringify() 메서드1 - (객체 → 문자열) 변환
  6. JSON.stringify() 메서드2 - (날짜 → 문자열) 변환
  7. JSON.stringify() 메서드3 - (함수 → 문자열) 변환
  8. JSON.stringify() 메서드4 - (배열 → 문자열) 변환

 

JS 객체 표시 방법

 

  • 객체 자체를 출력하면, [object Object] 출력됨.
  • 객체 내용을 출력하려면, 목차 2~4번 이용 필요.

 


[예제] 

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


document.getElementById("demo").innerHTML = hz;

</script>

 

결과값: [object Object]

 

JS 객체 속성 표시

 

객체 내용을 표시하려면, 객체의 속성명 이용해야 함.
objectName.propertyName 형식 (예) hz.site


PS. 객체 속성을 나열해 출력하는 방법 2가지

 


[출력방법1] - 덧셈 기호로 연결해 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};

document.getElementById("demo").innerHTML = hz.site + " " + hz.host + " (Since " + hz.open + ")";

</script>

 

결과값: 홈짱닷컴 Homzzang.com (Since 2012)


[출력방법2] - 백틱(`)으로 감싸서 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};

document.getElementById("demo").innerHTML = `${hz.site} ${hz.host} (Since ${hz.open})`;

</script>

 

결과값: 홈짱닷컴 Homzzang.com (Since 2012) 

 

반복문 이용해 객체 표시

 

출력할 속성이 많을 경우, 반복문 이용해 출력 가능.

  • 반복문에선 hz.x 형식이 아닌 hz[x] 형식 사용. (∵ x는 속성이 아닌 변수이므로.)
  • 일부 속성을 다르게 출력하려면, if 조건문 이용. (예제2 참고)

 


[예제1] - 동일 패턴으로 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


let txt = "";

for (let x in hz) {

    txt += hz[x] + " ";

};


document.getElementById("demo").innerHTML = txt;

</script>

 

결과값: 홈짱닷컴 Homzzang.com 2012


[예제2] - if조건문 이용해 일부 속성을 다른 패턴으로 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


let txt = "";

for (let x in hz) {

    if (x === 'open') {

        txt += "(Since " + hz[x] + ") ";

    } else {

        txt += hz[x] + " ";

    }

}


document.getElementById("demo").innerHTML = txt;

</script>


결과값: 홈짱닷컴 Homzzang.com (Since 2012) 

 

Object.values() 메서드 - (객체 → 배열) 변환

 

객체를 배열로 변환. 

  • 배열은 배열 자체로 내용 출력 가능.
  • 배열의 색인번호는 0부터 시작함.
  • 구문: Object.values(objectName)
  • 주의: Object의 첫글자는 대문자임.
  • 지원: 2016년 이래 주요 최신 브라우저 모두 지원.

 


[예제1] - 배열 자체 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


const hzArray = Object.values(hz);

document.getElementById("demo").innerHTML = hzArray;

</script>

 

결과값: 홈짱닷컴,Homzzang.com,2012


[예제2] - 배열의 색인번호 이용해 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


const hzArray = Object.values(hz);

document.getElementById("demo").innerHTML = `${hzArray[0]} ${hzArray[1]} (Since ${hzArray[2]})`;

</script>

 

결과값: 홈짱닷컴 Homzzang.com (Since 2012) 

 

JSON.stringify() 메서드1 - (객체 → 문자열) 변환

 

객체를 'JSON 표기법 따르는 문자열'로 변환.

  • (예) {"site":"홈짱닷컴","host":"Homzzang.com","open":2012}
  • 구문: JSON.stringify(objectName)
  • 지원: 주요 브라우저 모두 지원.

 


[예제1] - JSON 표기법으로 된 문자열 자체 출력

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


let hzString = JSON.stringify(hz);

document.getElementById("demo").innerHTML = hzString;

</script>

 

결과값: {"site":"홈짱닷컴","host":"Homzzang.com","open":2012}


[예제2] - JSON 표기법으로 된 문자열을 JSON 접근법으로 접근하려면, JSON.parse() 적용해야 가능함.

  

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: 2012

};


let hzString = JSON.stringify(hz);


// JSON 문자열을 JSON 객체로 파싱

const hzJSON = JSON.parse(hzString);


// JSON 접근법 사용해 객체 속성에 접근

const site = hzJSON.site; // "홈짱닷컴"

const host = hzJSON.host;   // "Homzzang.com"

const open = hzJSON.open; // 2012 

    

document.getElementById("demo").innerHTML = site +" " + host + " (Since " + open + ")";

</script> 

 

결과값: 홈짱닷컴 Homzzang.com (Since 2012)

 

JSON.stringify() 메서드2 - (날짜 → 문자열) 변환

 

<p id="demo"></p>


<script>

var hz = {

  site: "홈짱닷컴",

  date: new Date()

};


let hzString = JSON.stringify(hz);

document.getElementById("demo").innerHTML = hzString;

</script>

 

결과값: {"site":"홈짱닷컴","date":"2023-09-15T02:30:50.617Z"}

 

JSON.stringify() 메서드3 - (함수 → 문자열) 변환

 

  • 함수는 JSON.stringify() 적용 안 됨. [예제1]
  • 함수를 문자열로 변환하려면,  toString() 먼저 적용 후 JSON.stringify() 적용. [예제2]

 


[예제1] - 함수는 JSON.stringify() 적용 안 됨.

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: function () {return 2012;}

};


document.getElementById("demo").innerHTML = JSON.stringify(hz);

</script>

 

결과값: {"site":"홈짱닷컴","host":"Homzzang.com"}


[예제2] - 함수 경우, toString() 먼저 적용 후 JSON.stringify() 적용하면 문자열로 변환 됨.

 

<p id="demo"></p>


<script>

const hz = {

  site: "홈짱닷컴",

  host: "Homzzang.com",

  open: function () {return 2012;}

};


hz.open = hz.open.toString();

document.getElementById("demo").innerHTML = JSON.stringify(hz);

</script>

 

결과값: {"site":"홈짱닷컴","host":"Homzzang.com","open":"function () {return 2012;}"}

 

JSON.stringify() 메서드4 - (배열 → 문자열) 변환

 

  • 배열을 JSON.stringify() 적용해 문자열로 변환 시, 대괄호 기호까지 출력. (예제1)
  • 배열 자체로 출력 시, 대괄호 없이 내용만 출력. (예제2)

 


[예제1] - JSON.stringify() 적용 후 출력

 

<p id="demo"></p>


<script>

const hz = ["홈짱닷컴", "Homzzang.com", 2012];

document.getElementById("demo").innerHTML = JSON.stringify(hz);

</script>

 

결과값: ["홈짱닷컴","Homzzang.com",2012]


[예제2] - 배열 자체 출력

 

<p id="demo"></p>


<script>

const hz = ["홈짱닷컴", "Homzzang.com", 2012];

document.getElementById("demo").innerHTML = hz;

</script>

 

결과값: 홈짱닷컴,Homzzang.com,2012


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Basic JS - 화살표함수 (Arrow Function) ★★★ (= Arrow함수 = 애로우함수|애로우펑션) (…
Basic JS - rest (나머지 기타등등) 매개변수
HTML_Objects JS - selectedIndex 속성 - 선택된 옵션 색인번호 (= selectedIndex속성 = 실렉…
Object JS - Object Display - 객체 표시(=출력)
Object JS - Object Classes - 객체 클래스
DOM_Element JS - dataset 속성 ★★★ - 데이터셋 속성 (= dataset속성) ※ div태그를 iframe태…
js JS - play(), pause() 메서드 - 동영상 재생/멈춤. (= play메서드, pause메서드 =…
Window_Object JS - devicePixelRatio 속성 ★ - 기기 픽셀 비율. ※ PC, 모바일 구별하기
js JS - 입력값 길이 제한 후, 경고창 띄우기
js JS - 눈 내리는 효과 (Snowflakes effect)
js JS - CSS 다크모드 토글 (Dark Mode Toggle) ※ 클래스 상호 대체/변환
DOM_Style JS - pointerEvents 속성 - 마우스 포인트 이벤트에 대한 반응 여부. (= pointerEve…
js JS - 스크롤 정도/위치 진행바 표시기 (Scroll Indicator Bar)
Form JS - input 태그의 name 속성값이 배열일 때, value값 가져오기 (= 폼태그 안 인풋 태그 네…
js JS - 숫자 (카운팅/변동) 애니 효과
DOM_Event JS - orientationchange 이벤트 - 장치 방향 바뀜 이벤트 (= 오리엔테이션체인지 이벤트) …
ScreenOrientation JS - ScreenOrientation 객체 - 장치 방향 정보 갖는 객체 (= 스크린오리엔테이션 객체)
ScreenOrientation JS - ScreenOrientation.type 속성 - 장치 방향 표시 (= 스크린오리엔테이션타입 속성)
ScreenOrientation JS - ScreenOrientation.angle 속성 - 문서의 현재 방향 각도 반환 (= 스크린오리엔테…
ScreenOrientation JS - ScreenOrientation.onchange 속성 ★ - 장치 방향 변경 이벤트 (= 스크린오리…
63/67
목록
찾아주셔서 감사합니다. Since 2012