출퇴근길에 공부하는 자바스크립트1
자바스크립트에서는 원시 값을 제외한 나머지 모든 것이 객체이다.
객체는 자바스크립트의 핵심 데이터 타입 중 하나로, 다양한 타입의 데이터를 한 단위로 묶을 수 있는 복합 데이터 구조이다. 원시값(primitive value)이 단일 데이터를 나타내는 데 반해 객체는 다양한 데이객체는 다양한 데이터와 함수를 하나의 논리적 단위로 묶는다.
const car = {
make: 'Toyota', // 프로퍼티
model: 'Camry', // 프로퍼티
start: function() { // 메서드
console.log('Starting the car');
}
};
이러한 객체는 프로퍼티의 집합이다. 프로퍼티는 키와 값으로 구성되며, 키는 일반적으로 문자열이나 심볼이고 값은 어떤 타입이든 될 수 있다. 그리고 프로퍼티의 값이 함수일 경우에는 이를 메서드라고 부른다. 메서드는 객체의 상태를 읽거나 수정하는 동작을 캡슐화한다.
자바스크립트는 다양한 방법(객체 리터럴, Object 생성자함수, 생성자 함수, Object.create 메서드, 클래스(ES6))으로 객체를 생성할 수 있지만, 가장 간단하고 자주 사용되는 방법은 객체 리터럴을 사용하는 것이다.
const student = {
name: 'Alice',
age: 20,
greet: function() {
return `Hello, my name is ${this.name}`;
}
};
객체리터럴은 중괄호(`{}`)로 둘러싸여 있으며, 키-값으로 프로퍼티를 정의한다. 정의를 할 때 키와 값은 콜롬(`:`)으로 구분한다. 그리고 쉼표(`,`)를 통해서 여러 프로퍼티를 정의할 수 있다. 그리고 이러한 객체 리터럴은 프로퍼티와 메서드를 실행 시간에 추가하거나 삭제할 수 있다는 동적인 특성 또한 지니고 있어 유용하게 활용될 수 있다.