/객체를 공부하자
/하라는 알고리즘은 하지 않고 기초문법을 공부하는 나
<script>
const product = {
제품명: '7d 건조 망고',
유형: '당절임'
성분: '망고, 설탕, 메타중아황산나트륨, 치자황색소'
원산지: '필리핀'
}
</script>
위 예시에서 '키:' 는 '제품명', '속성:'은 '7D 건조 망고'
Product['제품명'] -> 7D 건조 망고
대괄호를 통해 접근할 수 있다
Product.제품명 -> '7D 건조 망고'
객체는 위와 같이 대괄호[ ] 사용 외에도 온점을 사용하여 객체에 접근가능함.
식별자로 사용할 수 없는 단어를 키로 사용할 때는 문자열을 사용해야 한다.또한 식별자가 아닌 문자열을 키로 사용할 때는 무조건 대괄호[]를 사용해야 객체의 요소에 접근할 수 있음.
console.log 같은 메소드들을 객체의 속성으로 만들어 낼 수 있음.
const pet = {
name: '구름',
eat: function(food){
alert(this.name +'은' + food + '을/를 먹습니다')
}
}
pet.eat('밥') -> 구름(name)은 밥(food)을 먹습니다.
주의할 것은 arrow function 안에서 this 키워드를 쓰면 바인딩 해주지 않아서 브라우저 document를 출력함. 이것을 객체의 속성을 바인딩해주지 않음. 즉 객체 내부에서는 this를 쓸 때는 익명함수에서만 사용해야 함.
속성을 붙이지 않고 객체를 붙이지 않고 속성을 부를 수 없음. (객체.name) 혹은 (this.name)만 됨.
-> 동적으로 객체 속성을 추가할 떄는 json.stringify(메소드)를 사용함.
-> 동적으로 속성을 제거할 때는 delete 키워드를 사용하고 형태는 다음과 같다
delete 객체. 속성