💡 학습목표
1. 객체에 대한 이해와 사용
2. 배열에 대한 이해와 사용

객체는 프로그래밍에서 데이터와 그 데이터를 다루는 동작(메서드)을 함께 묶어서 표현하는 자료구조입니다.
내장 객체 (Built-in Objects)
내장 객체는 JavaScript 언어 자체에 내장되어 제공되는 객체들을 말합니다. 이러한 객체들은 JavaScript 프로그래밍에서 기본적인 기능을 제공하며, 모든 JavaScript 환경에서 사용할 수 있습니다. 몇 가지 주요 내장 객체에는 다음과 같은 것들이 있습니다.
등등…
사용자 정의 객체 (User-defined Objects):
사용자 정의 객체는 프로그래머가 직접 만들어서 사용하는 객체입니다. JavaScript에서는 객체를 생성하고 속성과 메서드를 정의하는 데 매우 유연하고 강력한 방법을 제공합니다.
생성 방법
new 키워드와 생성자 함수를 사용
객체 리터럴 표기법(Object Literal Notation) 사용
new 키워드와 생성자 함수를 사용
// 사용자 정의 객체 생성자 함수
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
// 객체 생성
const person1 = new Person("길동", "홍");
const person2 = new Person("이", "순신");
console.log(person1.firstName);
console.log(person2.lastName);
객체 리터럴 표기법(Object Literal Notation) 사용
JavaScript에서 객체를 생성하는 간단하고 직관적인 방법 중 하나입니다. 이 표기법을 사용하면 중괄호 {} 안에 키(key)와 값(value)의 쌍으로 객체를 정의할 수 있습니다. 각 키와 값은 콜론(:)으로 구분되며, 각 쌍은 쉼표(,)로 구분됩니다. 이를 통해 객체를 손쉽게 만들 수 있습니다.
1단계
이름과 나이를 가지는 간단한 사람 객체를 객체 리터럴 표기법으로 생성
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
const person = {
name: "John",
age: 30
};
console.log(person.name);
console.log(person.age);
</script>
<body>
</body>
</html>
2단계
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
// ES6 - 객체 리터럴 표기법
const person = {
firstName: '길동',
lastName: '홍',
age: 30,
address: {
street: '연수로 123번길',
city: '부산',
zip: '488123'
},
hobbies: ['독서', '등산', '요리', '코딩'], // 배열
sayHello: function() {
// 주의 : 백틱(backtick) 또는 역따옴표(backquote) 사용
console.log(`Hello, my name is ${this.firstName} ${this.lastName}.`); // ES6 - 템플릿 리터럴 -> ${}
}
};
// 객체 속성에 접근
console.log(person.firstName); // John
console.log(person.age); // 30
// 중첩된 객체 속성에 접근
console.log(person.address.city); // Anytown
// 배열 속성에 접근
console.log(person.hobbies[0]); // Reading
// 메서드 호출
person.sayHello(); // Hello, my name is John Doe.
// 객체에 속성 추가
person.email = 'john@example.com';
// 객체 속성 수정
person.age = 31;
// 객체 속성 삭제
delete person.hobbies;
console.log(person.hobbies); // undefined
</script>
<body>
</body>
</html>
배열은 JavaScript에서 데이터를 보관하고 관리하는 데 사용되는 자료 구조입니다. 배열은 여러 값을 순서대로 저장할 수 있으며, 각 값은 인덱스를 사용하여 접근할 수 있습니다.
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
// Array 생성자: Array 생성자를 사용하여 배열을 생성할 수 있습니다.
const numbers = new Array(1, 2, 3, 4, 5);
// 배열 리터럴: 대괄호 []를 사용하여 배열을 생성할 수 있습니다.
const fruits = ['apple', 'banana', 'cherry'];
// 배열 요소 접근하기
console.log(fruits[0]); // 'apple'
console.log(fruits[1]); // 'banana'
console.log(fruits[2]); // 'cherry'
// 배열의 길이 확인하기
console.log(numbers.length); // 5
// 배열에 요소 추가하기 - push() 메서드를 사용하여 배열의 끝에 요소를 추가할 수 있습니다.
fruits.push('peach');
console.log(" 배열 요소 추가 : " + fruits); // ['apple', 'banana', 'cherry', 'peach']
// 배열 요소 제거하기
fruits.pop(); // 'peach' 제거
console.log(" 배열 요소 삭제 : " + fruits); // ['apple', 'banana', 'cherry']
// 배열 순회하기
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
console.log("-------------------------");
// 배열 메서드 활용하기
numbers.forEach(function (number) {
console.log(number);
});
</script>
<body>
</body>
</html>
컴퓨터가 처리하는 자료에 형태인 객체와 배열을 생성하는 방법에는 new 키워드와 생성자 그리고 리터럴 표기법을 사용할 수 있습니다.