객체 생성 & 접근 & 수정

🖇 객체 생성하기

축약식 표기법(literal Notation)
객는 중괄호와 그 콘텐츠로 구성된다. 객체는 hotel이라는 변수에 저장되므로 이 변수를 호텔 객체로 참조할 수 있다.
각 키와 값은 콜론(:)으로 구분한다. 각 속성과 메서드는 쉼표로 구분하고 마지막 값 다음에는 생략한다.

const hotel = {
  name : 'hilton',
  rooms: 40,
  booked : 25,
  checkAvailability : function(){
    return this.rooms - this.booked;
  }
};

생성자 표기법

new와 객체 생성자는 빈 객체를 생성한다. 이후에 객체에 속성과 메서드를 추가할 수 있다.
이 방법은 이미 생성된 어떤 객체(어떤 방식으로 생성된 객체인지는 중요하지 않다)에 속성과 메서드를 추가할 때 사용한다.

const hotel = new Object();

  hotel.name : 'hilton',
  hotel.rooms: 40,
  hotel.booked : 25,
  hotel.checkAvailability : function(){
    return this.rooms - this.booked;
  }

🖇 객체 접근하기

마침표 표기법

const hotelName = hotel.name;
const roomFree = hotel.checkAbility();

대괄호 표기법

const hotelNAme = hotel['name'];

대괄호 표기법은 대부분 다음의 경우에 사용한다.

  • 속성의 이름이 숫자인 경우
  • 속성의 이름을 지정할 때 변수가 사용된 경우

🖇 객체 수정하기

속성 값을 변경하려면 마침표 표기법이나 대괄호를 사용한다.
이 방법은 축약형 표기법이나 생성자 표기법을 이용해 생성된 객체에 모두 사용할 수 있다.
속성을 제거하려면 delete 키워드를 사용한다.

속성 값을 변경하려면 객체에 속성을 추가할 때와 동일한 방법 사용. 다만 새로운 값을 대입한다.
(객체가 가지고 있지 않은 속성을 수정하려고 하면 이 속성은 객체에 새롭게 추가된다.)

hotel.name = 'ryu';

대괄호 문법을 사용해도 값을 변경할 수 있다. 객체의 이름 다음에 대괄호를 열고 변경할 속성 이름을 기입 후 대괄호를 닫으면 된다.
(객체가 가지고 있지 않은 속성을 수정하려고 하면 이 속성은 객체에 새롭게 추가된다.)

hotel['name'] = 'ryu';

속성 제거
Delete 키워드 다음에 객체의 이름과 속성 이름을 나열한다,

delete hotel.name;

단지 속성 값만을 지우려면 빈 문자열을 대입한다.

hotel.name='';

좋은 웹페이지 즐겨찾기