sharingStorage

모던 자바스크립트 10장 객체리터럴 본문

Front-End/모던 자바스크립트 Deep Dive

모던 자바스크립트 10장 객체리터럴

Anstrengung 2022. 6. 6. 17:18

10장 객체리터럴

자바스크립트는 객체 기반의 프로그래밍 언어이며 자바스크립트를 구성하는 것중 원시값을 제외한 나머지 값(함수, 배열, 정규표현식 등)은 모두 객체이다.

 

객체타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이며 원시 값은 immutable한 값이지만 객체는 mutable(변경가능)한 값이다.

 

객체는 0개 이상의 프로퍼티로 이루어져 있으며 프로퍼티는 프로퍼티 키와 프로퍼티 값으로 나뉜다.

함수도 프로퍼티 값이 될 수 있으며 이때 함수를 메서드(method)라고 부른다.

var counter= {
	num=0; //프로퍼티
    increase: function() { // 메서드
	this.num++;
	}
}

위처럼 객체는 프로퍼티와 메서드로 구성된 집합체이다.

 

10.2 객체 리터럴에 의한 객체 생성

클래스를 사전에 정의하고 필요한 시점에 new 연산자와 함께 생성자를 호출하여 인스턴스를 생성하는 방식으로 객체를 생성하는 C++이나 자바와 달리 자바스크립트는 프로토타입 기반 객체지향 언어로서 다양한 객체 생성 방법을 지원한다.

 

그 중에서 가장 일반적인 방법은 아래와 같은 객체 리터럴을 사용하는 것이다.

var person = {
	name: LEE;
    sayHello: function() {
    console.log("hello");
    }
};

 

 

10.3 프로퍼티

프로퍼티 키는 빈 문자열을 포함하는 모든 문자열 또는 심벌 값,

프로퍼티 값에는 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다.

 

식별자 네이밍 규칙을 따르지 않는 이름에는 반드시 따옴표를 사용해야하므로 가능한 네이밍 규칙을 따르도록 하자

 

10.5 프로퍼티 접근

프로퍼티에 접근하는 방법은 다음과 같이 두가지다.

  • 마침표 프로퍼티 접근 연산자를 사용하는 마침표 표기법
  • 대괄호 프로퍼티 접근 연산자 ([..])를 사용하는 대괄호 표기법

프로퍼티 키가 식별자 네이밍 규칙을 준수하는 이름 즉 자바스크립트에서 유효한 이름이면 마침표 표기법과 대괄호 표기법을 모두 사용할 수 있다 단 대괄호 표기법을 사용하는 경우 프로퍼티 키는 반드시 따옴표로 감싼 문자열이여야 한다.

var person ={ 
	name: 'LEE';
};

	console.log(person.name); //LEE
    console.log(person['name']); //LEE
    console.log(person[name]); // ReferenceError: name is not defined (참조에러)

 

10.8 프로퍼티 삭제

delete 연산자는 객체의 프로퍼티를 삭제한다.

존재하지 않는 프로퍼티를 삭제하면 아무런 에러 없이 무시된다.

let person ={ 
	name: 'LEE';
};

person.age=25; //프로퍼티 동적 생성

delete person.age; // 따라서 delete 연산자로 age 프로퍼티 삭제

 

Comments