Object(객체)란?
객체란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있다.
https://wonillism.tistory.com/224?category=971578
C++의 클래스를 정리하면서 객체의 개념도 정리해두었다.
자바스크립트 객체
자바스크립트의 기본 타입(data type)은 객체이다. 원시형 값을 제외한 나머지 값은 모두 객체이다.
원시형은 단 하나의 값만을 나타내지만 객체형(참조형)은 다양한 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조이다.
또한 원시형의 값은 immutable value(변경 불가능한 값)이지만, 객체형의 값은 mutable value(변경 가능한 값)이다.
객체란 이름과 값으로 구성된 프로퍼티의 정렬되지 않은 집합이다. (hash map..?)
프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 한다.
// 일반적인 변수 선언
var person = "wonillism"
// 객체 선언
var person = { name: "wonillism", age: "1", weight: "2" };
// 객체의 프로퍼티 참조
console.log(person.name)
// 또는
console.log(person["name"])
Array(배열)란?
배열은 인덱스와 번호에 대응하는 데이터들로 이루어진 자료구조를 나타낸다. 일반적으로 배열에는 같은 종류의 데이터들이 순차적으로 저장되어, 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가 된다.
자바스크립트 배열
자바스크립트에서 배열은 이름과 인덱스로 참조되는 정렬된 값의 집합으로 정의된다.
배열을 구성하는 각각의 값을 배열 요소라고하며, 배열에서의 위치를 가리키는 숫자를 인덱스라고 한다.
- 배열 요소의 타입이 고정되어 있지 않으므로, 같은 배열에 있는 배열 요소끼리의 타입이 서로 다를 수 있다.
- 배열 요소의 인덱스가 연속적이지 않아도 되며, 특정 배열 요소가 비어있을 수도 있다.
- 자바스크립트에서 배열은 Array 객체로 다루어진다.
배열을 생성하는 방법
var arr = [배열요소1, 배열요소2,...]; // 배열 리터럴을 이용하는 방법
var arr = Array(배열요소1, 배열요소2,...); // Array 객체의 생성자를 이용하는 방법
var arr = new Array(배열요소1, 배열요소2,...); // new 연산자를 이용한 Array 객체 생성 방법
배열과 객체
배열은 순서를 가지고, 객체는 의미를 가진다.
https://hanamon.kr/javascript-%EA%B0%9D%EC%B2%B4-%EA%B8%B0%EC%B4%88/