객체란 추상적 의미로 정의하자면 '실제로 존재하는 사물'을 의미하며, '이름'과 '값'으로 구성된 속성을 가진 자바스크립트의 기본 데이터 타입이다
객체의 선언은 아래와 같다
const product = {
key: 'value',
key2: 'value2',
key3: 'value3'
}
객체의 요소에 접근하는 방법은 해당 객체의 변수명['key'] 와 변수명.key 이다.
product['key']
product.key
객체의 key는 식별자와 문자열 모두 사용 가능하지만 식별자로 사용할수 없는 단어를 키로 사용할때엔 문자열을 사용해야 한다.
문자열을 키로 사용 하였을때에는 무조건 대괄호[...]를 이용해야 객체의 요소에 접근할수 있다.
배열 내부의값은 요소, 객체 내부의 값은 속성(property)라고 한다.
배열의 요소와 마찬가지로 객체도 속성으로 모든 형태의 자료형을 가질수 있다.
const product={
name:'k',
method: function(){}
//메소드를 보다 간단하게 선언 가능하다
method(){}
호출시엔
product.method()
메소드 내부에서 자기 자신이 가진 속성값을 출력하고 싶을때엔 자신이 가진 속성임을 명시해주어야 한다. 이때 this 키워드를 사용한다
const product = {
name: 'k',
method: function(age){
console.log(this.name+'의 나이:'+age)}
product.method(20)
객체의 속성을 동적으로 추가, 삭제 하기.
const product = {}
product.nama ='k'
product.age ='20'
delete product.age //삭제