배열엔 '인덱스'와 '요소'가 있듯이, 객체에는 '키'와 '밸류'가 있다.
let arr = [0,1,2,3,4]
let dict = {
'가':'나',
'다':'라',
'마':'바',
'사':'아',
'자':'차'
}
밸류에 접근하기 위해선 배열에서 인덱스를 사용한것과 비슷하게 사용할수도 있다.
let dict = {
'가':'나',
'다':'라',
'마':'바',
'사':'아',
'자':'차'
}
dict['가'] >>> '나'
dict.가 >>> '나'
객체의 속성 중 함수 자료형인 속성을 메소드라 한다. 또한 메소드 안에서 this를 사용하여 객체의 자료를 사용할 수 있다.
const pet = {
name: '구름',
eat: function (food) {
alert(this.name + '은/는' + food + '을/를 먹습니다.')
}
}
pet.eat('밥')
//구름은/는 밥을/를 먹습니다.
이때 메소드로 화살표함수는 사용하지 않는다.
익명함수와 화살표함수는 this키워드를 다루는 방식이 다르다.
const test = {
a: function () {
console.log(this)
},
b: () => {
console.log(this)
}
}
test.a()
test.b()
//{a:f, b:f}
//Window {postMessage: f, blur .....}
익명함수로 만들어진 a메소드는 test객체의 this를 출력하지만, 화살표함수로 만들어진 b메소드는 Window객체를 출력한다.
'2차 공부 > TIL' 카테고리의 다른 글
24.05.03 String 객체, Math 객체 (0) | 2024.05.03 |
---|---|
24.05.02 Number 객체 (0) | 2024.05.02 |
24.04.30 타이머함수 (0) | 2024.04.30 |
24.04.29 화살표함수 (0) | 2024.04.29 |
24.04.28 콜백함수 (0) | 2024.04.28 |