설명

데이터와 해당 데이터에 대한 동작(메소드)을 포함하는 복합적인 자료구조이다.

객체는 중괄호 { }를 사용하여 생성되며, 속성(property), 메소드(method)를 포함할 수 있다.

속성은 객체 내의 변수와 비슷하며, 메소드는 객체 내에서 실행되는 함수이다.

 

 

객체 생성

let person = {
    name: 'John',
    age: 30,
    greet: function() {
    	console.log('Hello!');
    }
};

'person' 객체는 'name', 'age', 'greet' 속성을 가지고 있다.

 

자바스크립트의 객체는 동적으로 속성을 추가하거나 제거할 수 있으며, 다른 객체의 속성을 참조하여 사용할 수 있다.

객체는 자바스크립트에서 매우 중요한 개념이며, 웹 개발에서는 DOM(Document Object Model)을 다루거나

서버와 통신할 때 JSON(JavaScript Object Notation) 형식으로 데이터를 주고받는 등 다양한 상황에서 활용된다.

 

 

객체 타입

console.log(typeof person);    // object

 

 

객체 속성에 접근

console.log(person.name);          // 1)
console.log(person['name']);       // 2)

 

 

객체 메소드 호출

person.greet();

 

 

객체 메소드 

const test = {
    a: function() {
    	console.log(this);  // object
    },
    
    b: () => {
    	console.log(this);  // window
    }
}

객체의 메소드로는 주로 '일반 함수'를 사용한다.

 

일반 함수의 this 키워드는 해당 함수를 호출한 객체를 가리키지만

화살표 함수의 this 키워드는 자신의 this를 갖지 않고, 상위 스코프의 this를 그대로 사용하기 때문이다.

 

 

속성 추가

person.hobby = 'tennis'

 

 

속성 제거

delete person.name;

 

 

JSON 형식 문자열로 변경

let str = JSON.stringfy(person);

 

'JS' 카테고리의 다른 글

prototype  (0) 2024.03.12
배열에 속성 추가(?)  (0) 2024.03.12
inner function  (1) 2024.03.11
declarative function | anonymous function  (0) 2024.03.11
var  (0) 2024.03.11

+ Recent posts