Javascript의 객체(object)

0

객체(object)

자바스크립트는 객체 기반 프로그래밍 언어이다. 그렇다면 객체란 무엇인가?
객체는 0개 이상의 프로퍼티로 구성된 집합으로, 프로퍼티는 key와 value로 구성된다.

{
	a: 1, // property
  	b: function() { // method
    	console.log("hi");
    }  
}

객체의 프로퍼티엔 값과 함수 모두 들어갈 수 있다. 값이 함수인 경우에는 method라고 부른다.

객체 리터럴(object literal)

리터럴은 사람이 이해할 수 있는 문자나 약속된 기호를 사용해 값을 생성하는 표기법을 말하는데, 자바스크립트에서 객체를 생성하는 가장 일반적인 방법이 객체 리터럴을 사용하는 것이다.

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

프로퍼티에 접근하기

마침표로 접근법

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

console.log(obj.a); // 1

대괄호 접근법

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

console.log(obj["a"]); // 1

대괄호 표기법을 사용할 때는 접근 연산자 내부에 지정하는 프로퍼티 키는 반드시 따옴표로 감싼 문자열이어야 한다.

프로퍼티 값 갱신

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

obj.a = 2;
console.log(obj.a); // 2

이미 존재하는 프로퍼티에 값을 할당하면 프로퍼티 값이 갱신된다.

프로퍼티 값 생성

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

obj.c = 3;
console.log(obj.c); // 3

존재하지 않는 프로퍼티에 값을 할당하면 동적으로 생성되어 추가된다.

프로퍼티 삭제

var obj = {
	a: 1,
  	b: function() { 
    	console.log("hi");
    }  
};

delete obj.a; // true
console.log(obj.a); // undefined

delete obj.c; // true;

delete 연산자를 사용하면 객체의 프로퍼티를 삭제할 수 있다.
그런데 객체에 존재하지 않는 값을 삭제해도 에러가 나지 않고 true를 반환한다. 이 점은 주의하길 바란다.

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글