본문 바로가기

■ 프로그래밍/JavaScript

Object (2) - 중첩객체 접근

객체에는 함수도 저장할 수 있다. 

이를 일반 함수와 다르게 부르기 위해 객체에 들어있는 함수는 메소드(Method)라 칭한다. 

 

우리가 흔히 쓰던 console.log를 객체로 표현하면 아래와 같다. 

var cons = {
	log: function() {
    	console.log('콘솔로그');
    }
}

cons.log(); // output: 콘솔로그

 

중첩된 객체(Nested Object)

대부분의 객체는 다중으로 중첩되어 있다. 마트를 예로 객체를 만들어 보겠다. 

var me = {
	name: "KMJ",
    contact: {
    	email: "hi.minjungkim@gmail.com",
        location: "Seoul"
    },
    "what I like": {
    	food: [{
        	name: "맥도날드",
            price: 5600
        }, {
        	name: "밀크티",
            price: 4000
        }],
        things: ["돈", "집"]
    }
}

"밀크티"를 불러오고 싶다면, 아래와 같이 코드를 작성하면 된다. 

console.log(me["what I like"].food[1].name);

몇 번 연습하다보면 손에 익을 거라 생각한다. 

 

또한, 객체는 참조타입이기 때문에, 데이터만을 비교하면 똑같지만 객체 자체를 비교하면 다른 것이라 나온다.

var a = {
    content: "hi"
}

var b = {
    content: "hi"
}

console.log(a.content === b.content) // output: true
console.log(a === b); // output: false

 

참고: 2020/02/07 - 원시타입, 참조타입 차이점

 

'■ 프로그래밍 > JavaScript' 카테고리의 다른 글

재귀(Recursion)  (0) 2020.04.25
Temporal Dead Zone  (0) 2020.04.16
Object (1) - 접근, 할당  (0) 2020.03.25
isNaN()  (0) 2020.03.25
String, Number 변환  (0) 2020.03.24