key: value 쌍의 집합입니다. JavaScript의 거의 모든 것은 객체로 이루어져 있으며, 가장 중요한 데이터 구조입니다.객체 리터럴 (Object Literal): 가장 일반적인 생성 방식.
const person = {
name: 'Alice',
age: 25,
isAdmin: true,
// 메서드 (객체에 속한 함수)
greet: function() {
console.log('Hello, my name is ' + this.name);
}
};
속성 접근:
person.name (가장 일반적)person['age'] (key가 변수이거나 특수문자를 포함할 때 사용)속성 추가 및 삭제:
person.job = 'Developer'; // 속성 추가
delete person.isAdmin; // 속성 삭제
단축 속성 (Shorthand Properties): 변수 이름과 key 이름이 같을 때 축약 가능.
const name = 'Bob';
const age = 30;
const user = { name, age }; // { name: name, age: age }와 동일
계산된 속성명 (Computed Property Names): key를 동적으로 생성.
const propName = 'favoriteFood';
const obj = {
[propName]: 'Pizza'
}; // { favoriteFood: 'Pizza' }
배열 리터럴 (Array Literal): 가장 일반적인 생성 방식.
const fruits = ['Apple', 'Banana', 'Cherry'];
요소 접근: 인덱스(index)는 0부터 시작합니다.
console.log(fruits); // 'Apple'
fruits = 'Blueberry'; // 요소 수정
주요 속성 및 메서드:
fruits.length: 배열의 길이 (요소의 개수)fruits.push('Orange'): 배열의 끝에 요소 추가fruits.pop(): 배열의 끝에서 요소 제거 및 반환fruits.unshift('Strawberry'): 배열의 앞에 요소 추가fruits.shift(): 배열의 앞에서 요소 제거 및 반환for 문const numbers =;
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}forEach: 배열의 각 요소를 순회하며, 주어진 함수를 실행합니다. 반환 값이 없습니다.
const colors = ['red', 'green', 'blue'];
colors.forEach(function(color) {
console.log(color);
});
// 화살표 함수 사용
colors.forEach(color => console.log(color));
map: 배열의 각 요소를 순회하며, 주어진 함수를 실행한 결과를 모아 새로운 배열을 반환합니다. (React에서 리스트 렌더링 시 핵심적으로 사용)
const nums =;
const doubledNums = nums.map(num => num * 2); //
filter: 배열의 각 요소를 순회하며, 주어진 함수의 결과가 true인 요소들만 모아 새로운 배열을 반환합니다.
const ages =;
const adults = ages.filter(age => age >= 20); //
for...of 와 for...infor...of (ES6+): 배열, 문자열 등 반복 가능한(iterable) 객체의 값(value)을 순회합니다. 배열 순회에 가장 적합합니다.
const fruits = ['Apple', 'Banana'];
for (const fruit of fruits) {
console.log(fruit); // 'Apple', 'Banana'
}
for...in: 객체의 키(key)를 순회합니다. 객체 순회에 사용되지만, 배열에는 사용하지 않는 것이 좋습니다. (순서를 보장하지 않음)
const person = { name: 'Alice', age: 25 };
for (const key in person) {
console.log(key + ': ' + person[key]); // 'name: Alice', 'age: 25'
}
key: value 쌍으로 데이터를 관리하며, 점 표기법(obj.key)으로 속성에 접근합니다.arr[0])를 통해 요소에 접근합니다.for문보다 forEach, map, filter 와 같은 배열 고차 함수나 for...of 문을 사용하는 것이 더 간결하고 안전합니다.for...of는 배열의 값을, for...in은 객체의 키를 순회하는 데 주로 사용됩니다.