배열이란?
배열(Array)은 하나의 변수에 여러 개의 값을 저장하는 자료구조입니다. 각각의 값은 인덱스(index)라는 번호로 구분됩니다. 배열은 같은 종류의 데이터를 묶어서 처리할 때 유용하게 사용됩니다.
배열선언
{
const arr1 = new Array();
arr[0] = "제일";
arr[1] = "기본";
arr[2] = "형태";
}
{
const arr2 = [];
arr[0] = "제일";
arr[1] = "기본";
arr[2] = "형태";
}
{
const arr3 = ["배열", "객체", "함수"];
}
배열 선언 방법은 많습니다. 보통 arr3 의 방법인 대괄호안에 초기값을 직접 넣는 방법을 많이 사용합니다.
또 추가나 변경이 되는데 한번 보겠습니다.
객체추가
const arr = ["배열", "객체", "함수"];
arr[3] = "변수";
document.write(arr[3]);
//결과: 변수
이렇게 배열에 arr[3] 에 값을 배열에 추가할 수 있습니다.
객체변경
const arr = ["배열", "객체", "함수","변수"];
arr[3] = "자바";
document.write(arr[3]);
//결과: 자바
또는, 이미 3번 자리엔 "변수"가 있지만 중간에 값을 변경해줘도 바뀐값으로 출력이 잘되는 모습입니다.
length
const arr = ["배열", "객체", "함수","변수"];
document.write(arr.length);
//결과: 4
arr.length; 를 사용하면 배열에 담긴 값이 몇개 인지 알아낼 수 있습니다.
배열 요소의 자료형에는 제약이 없습니다.
const x = 100;
const arr = [["배열"], {a: "객체"}, 1234, x];
document.write(arr[0]);
//배열
document.write(arr[1].a);
//객체
document.write(arr[2]);
//1234
document.write(arr[3]);
//100
이렇게 배열,객체,변수,숫자,문자 다 들어갈 수 있습니다!
객체란?
객체(Object)는 여러 개의 속성(property)을 가지고 있는 자료구조입니다.
속성은 키(key)와 값(value)으로 구성되며, 이를 통해 객체를 구성합니다.
객체선언
let user = new Object();
let user = {};
두번째 방법인 중괄호 {...}를 이용해 객체를 선언하는 것을 객체 리터럴(object literal) 이라고 부릅니다.
객체를 선언할 땐 주로 이 방법을 사용합니다.
속성과 값
const person = {
name: 'John',
age: 30,
address: {
city: 'Seoul',
street: 'Gangnam-gu',
zipCode: '12345'
}
};
위 예시의 person 객체는 name, age, address 세 가지 속성을 가지고 있습니다.
name과 age 속성은 문자열과 숫자 값으로 각각 정의되어 있으며, address 속성은 다시 객체로 정의되어 있습니다. address 객체는 city, street, zipCode 세 가지 속성을 가지고 있으며, 이들 속성은 모두 문자열 값으로 정의되어 있습니다.
객체는 함수도 포함할 수 있습니다. 이를 메소드(method)라고 부릅니다.
예를 들어, person 객체에 introduce 메소드를 추가해 볼 수 있습니다.
const person = {
name: 'John',
age: 30,
address: {
city: 'Seoul',
street: 'Gangnam-gu',
zipCode: '12345'
},
introduce: function() {
console.log(`Hi, my name is ${this.name}. I'm ${this.age} years old.`);
}
};
위 예시에서 introduce 메서드는 this 키워드를 사용하여 person 객체의 name과 age 속성을 참조하고 있습니다.
this는 현재 객체를 가리키는 키워드로, introduce 메소드가 호출된 객체를 가리키게 됩니다.
이를 통해 객체의 속성과 메서드는 상호작용하여 객체의 동작을 구현할 수 있습니다.