배열과 객체

홍예림·2023년 1월 10일
0

서론

자바스크립트는 객체지향언어(Object-oriented Language)입니다
객체지향언어란, 프로그램을 여러개의 객체로 만들고 그 객체들이 서로 상호작용하도록 만드는 프로그래밍 언어입니다.

객체란 무엇인가요?

컴퓨터 과학에서 객체(오브젝트, object)는 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것입니다. 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 문자열, 변수, 자료 구조, 함수 또는 메소드가 될 수 있습니다. 메모리가 할당되기 전까지 객체는 존재하지 않습니다.

본론

객체(object) vs 배열(array)

객체는 큰 범위의 정의에서 데이터(또는 참조공간)이며 문자열, 변수, 자료구조, 함수 또는 메소드가 될 수 있다고 했습니다. 작은 범위에서는 주로 데이터를 의미합니다.
배열은 배열객체라고도 불리는 자료구조의 한 종류로 여러개의 데이터를 순서대로 저장한 객체입니다.

객체의 구조 : 프로퍼티(속성,Property) ⊃ 키(속성명,Key)와 밸류(값,Value)

객체는 중괄호{} 로 감싼 데이터 묶음 형태를 의미하기도 합니다. 그리고 객체 안의 각 데이터 하나하나를 프로퍼티(속성) 이라고 부릅니다. 프로퍼티는 이름(키,key):내용(값,value) 구조로 이루어져 있으며, 다수의 키와 값들을 가질 수 있습니다.

객체의 데이터에 접근하기 : 닷 노테이션(dot notation)과 브라켓 노테이션(bracket notation)

객체 안의 데이터 프로퍼티에 접근할 시, 닷(.)을 활용하거나 브라켓([])을 활용하는 두 가지 표기법으로 접근할 수 있습니다. 자세한 방법은 여기의 '객체(Objects)'문단에서 확인 가능합니다.
참고: 닷노테이션과 브라켓노테이션은 각각 언제 활용될까?

객체 메서드(object method)

대표적으로 아래 두 가지를 활용합니다.
Object.keys() 객체의 키를 가져와 배열에 담아줍니다. 문자열 타입만 가능합니다.
Object.values() 객체의 값을 가져와 배열에 담아줍니다. 다양한 타입이 가능합니다.

배열의 구조 : 요소(element)와 인덱스(index)

배열은 데이터들을 대괄호[] 로 감싼 모습이며, 이루는 각각의 데이터를 요소라고 합니다. 요소는 문자, 숫자, 객체 등 다양한 형태가 가능합니다.
각 요소는 순서를 가지고 있습니다. 이 순서를 인덱스라고 합니다.

배열의 요소에 접근하기 : 인덱스(index)

인덱스를 활용해 배열의 순서를 나타낼 뿐만 아니라, 요소에도 접근할 수 있습니다.
자세한 방법은 여기의 '배열 요소에 접근하기' 문단에서 확인 가능합니다.

배열의 메서드 (Array Method)

다양한 내장 기능이 존재합니다. 여기에서 자세한 예시 확인이 가능합니다.
배열명[인덱스] 해당 인덱스의 데이터값을 꺼냅니다
.length 배열의 길이(데이터 개수)를 구합니다
.push('추가할 데이터') 배열의 맨 뒤에 추가합니다
.pop() 배열의 맨 뒤 값을 빼냅니다
.sort() 배열 요소를 정렬합니다
.includes() 배열에 포함되어있는지 확인합니다(결과값:참/거짓)
.indexOf('요소') 지정한 요소를 찾을 수 있는 첫번째 인덱스를 구합니다
.concat(연결할배열) 두 개의 배열을 연결합니다
.join() 배열의 원소 전부를 하나의 문자열로 만듭니다 (배열 자체를 문자열화 하려면 json메서드를 활용하세요)
.toString 배열을 문자열로 바꿉니다
.slice(시작,끝) 시작 인덱스부터 끝 인덱스의 앞 요소까지 잘라 반환합니다
.filter(함수) 함수 결과값을 참으로 만드는 요소들만 모아 반환합니다

결론

매서드를 잘 활용하는 것이 중요합니다.

참고자료

profile
SYNC 5반 2023.07 - 2023.12

0개의 댓글