객체에는 함수도 저장할 수 있다.
이를 일반 함수와 다르게 부르기 위해 객체에 들어있는 함수는 메소드(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 |