Book/혼자 공부하는 자바스크립트
06-1. 객체 기본
키모87
2022. 2. 5. 02:26
객채 : '실제로 존재하는 사물을 의미'하고 이름과 값으로 구성된 속성을 가진 데이터 타입
- 객체 내부에 있는 값을 속성(property)라고 합니다. 모든 형태의 자료형을 가질 수 있습니다.
- 객체는 중괄호 {..}로 생성하며 속성을 쉼표(,)로 연결해서 입력한다.
키 : 값
<script>
const product = {
제품명 : '7D 건조 망고',
유형 : '당절임',
성분 : '망고, 설탕 , 메타중아황산나트륨 , 차차황색소',
원산지 : '필리핀'
}
<script>
객체의 요소접근은 아래와 같이 사용할 수 있다.
product['제품명'] -> '7D 건조 망고'
product.제품명 -> '7D 건조 망고'
객체의 속성 중 함수 자료형인 속성을 메소드(method)라고 부릅니다.
<script>
const pet = {
name : '구름',
eat : function(food) {//메소드}
}
</script>
메소드 내부에서 this 키워드를 사용하기
메소드 내에서 자기 자신의 가진 속성을 출력하고 싶을 때는 자신이 가진 속성임을 분명하게 표시해야합니다. 자기 자신이 가진 속성이라는 것을 표시할때는 this 키워드를 사용합니다.
<script>
const pet = {
name : '구름',
eat : function(food){
alert(this.name + '은/는 '+food+'을/를 먹습니다.')
}
}
pet.eat('밥')
</script>
동적으로 객체 속성 추가 및 제거
student.이름 = '고요한',
student.언어 = '한국어',
delete student.언어
console.log(JSON.stringify(student,null,2))
메소드 선언하기
<script>
const pet={
name : '영수',
eat (lang) {
alert(this.name+ '는 '+ lang + 를 배우고 있어요.')
}
}
pet.eat('javascript')
</script>
화살표 함수를 사용한 메소드
<script>
const test = {
a: function(){
console.log(this)
},
b: () =>
{
console.log(this)
}
}
test.a()
test.b()
</script>
익명함수와 화살표 함수는 내부에서 this 키워드를 사용할 때 의미가 달라지므로 화살표 함수를 메소드로 사용하지 않습니다.