배열과 객체의 구조 이해
- 배열(Array): 순서를 가진다
- 객체(Object): 의미를 가진다
배열
javascript에서 배열(array)은 이름과 인덱스로 참조되는 정렬된 값의 집합으로 정의된다
배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 한다
배열의 특징
- 배열은 대괄호를 통해 만들어진다
- 배열 요소는 타입이 고정되어 있지 않으므로, 같은 배열에 있는 배열 요소끼리의 타입이 서로 다를 수 있다
- 배열 요소의 인덱스가 연속적이지 않아도 되며, 따라서 특정 배열 요소가 비어 있을 수도 있다
- 배열은 Array 객체로 다뤄진다
배열의 선언방법
let arr = [배열요소1, 배열여소2];
let arr = Array(배열요소1, 배열여소2);
let arr= new Array(배열요소1, 배열여소2);
배열의 값 접근방법
arr[index];
배열의 예시
let arr = ['a', 'b', 'c', 'D', 'E'];
배열의 기초 메소드
- 변수, 데이터, 또는 특정 값이 배열인지 판단
Array.isArray(): 인자안에 들어간 변수, 데이터, 특정 값이 배열이면 true를, 아니면 false를 반환한다.
- 변수, 데이터, 또는 특정 값이 배열에 포함되어 있는지 확인
indexOf(): 배열에 데이터가 들어있는 index 번호를 반환한다. 찾을 수 없으면 -1을 반환한다.
includes(): 배열에 데이터가 들어있으면 true를, 없으면 false를 반환한다.(대소문자를 구분한다.)
- 배열의 요소의 길이를 number type으로 출력
length: ex) arr.length
- 배열의 요소의 부분을 잘라서 출력
slice(): 기본으로 인자 두 개를 받는다. 원래 배열 유지
(slice 인자는 시작부분과 마지막부분으로 인자를 받음)
- 배열의 요소 추가 및 삭제
splice(): slice와 비슷하며 시작부분과 마지막부분을 인자로 받고 받은 범위는 삭제시킨다 단 splice 사용시 원래 배열도 삭제됨
unshift(): 배열의 맨 앞에 요소 추가
shift(): 배열의 맨 앞에 요소 삭제
push(): 배열의 맨 뒤에 요소 추가
pop() : 배열의 맨 뒤에 요소 삭제
- 문자열과 배열의 타입 변환
split(): 문자열을 split의 인자로 구분하여 배열로 변경한다.
join(): 문자열 요소를 가지는 배열을 join의 인자로 구분하여 문자열로 변경한다.
객체
javascript에서 객체란 이름(name)과 값(value)으로
구성된 프로퍼티(property)의 정렬되지 않은 집합이라고 부른다
프로퍼티의 값으로 함수가 올 수도 있는데,
이러한 프로퍼티를 메소드(method)라고 한다
객체의 특징
- 항상 키와 값 즉 key-value pair로 값을 넣어야 한다
- 그 값들은 속성(property)으로 부르며, 한 쌍당 구분은 쉼표로 구분해준다
- 객체는 중괄호를 통해 만들어진다
객체의 선언방법
let user = {};
배열의 값 접근방법
obj.key
obj['key']
객체의 예시
let name = {
name: 'name',
age: 77,
};
객체의 삭제방법
delete name['name']