2차 공부/TIL

24.05.01 객체

공대탈출 2024. 5. 1. 20:57

배열엔 '인덱스'와 '요소'가 있듯이, 객체에는 '키'와 '밸류'가 있다.

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