본문 바로가기
JS/JavaScript 강의

20. Array 소개

by 박기린 2022. 10. 14.

안녕하세요. 박기린입니다.

 

변수에는 다양한 데이터 타입의 value들을 담을 수 있습니다. 하지만 여러 개의 변수를 한 곳에 저장하고 싶은 상황이 생길 수 있습니다. 예를 들면, 전화번호부 같이 여러 개의 전화번호를 각각 변수를 지정해서 저장하기 보다는, 하나의 변수에 몰아서 담아주고 싶을 때가 생깁니다. 그럴 때를 위해 Array(배열)이 존재합니다.


 

 

 

Array를 선언하는 방법

Array를 선언하는 방법에는 두 가지가 있습니다.

 

1. Array Literal Syntax

const friends = ['Michael', 'Steven'];
[대괄호]와 ', 콤마'를 이용해서 배열을 선언합니다.
 

 

2. Array Function

const years = new Array(1991, 2004, 2000);

Array 생성자 함수와 ', 콤마'를 이용해서 배열을 선언합니다.


 

 

 

 

 

 

Array 안의 요소 불러오기

console.log(friends[0]);
console.log(friends[1-1]);

- '배열의_이름[인덱스]' 구조를 이용해서 배열의 n번째 요소에 접근할 수 있습니다.

- Array는 zero-based라서 인덱스가 0부터 시작합니다.

- [대괄호] 안에는 모든 종류의 number expressions가 들어올 수 있습니다. array를 선언할 때나 array를 호출할 때 모두 가능합니다.

 


 

 

 

 

 

Array의 길이 알아보기

console.log(friends.length);
console.log(friends[friends.length - 1]); // 맨 마지막 번째의 요소

- Array.prototype.length property를 이용해서 Array의 길이를 알 수 있습니다.

- '배열의_이름.length' 구조를 사용하면 쉽게 길이를 알 수 있습니다.

- '.length'는 요소의 개수를 말하는 것이기 때문에 '끝 번 요소 + 1'의 값이 나옵니다.


 

 

 

 

 

 

Array의 요소 변경하기

const friends = ['Michael', 'Steven'];
friends[1] = 'jay';
console.log(friends); // ['Michael', 'jay']

friends array를 const로 선언했지만, 그 안의 요소는 변경할 수 있습니다. 왜냐하면 const는 primitive value만 교체할 수 없고, array 내부 요소는 primitive value가 아니기 때문입니다.

 

하지만 여전히 array 전체를 교체하는 것은 불가능 합니다.

friends = ['jay', 'yosep']; // TypeError: Assignment to constant variable.

 


 
 
 
 
 
 

유연한 JS Array

const friends = ['Michael', 'Steven'];
const firstName = 'giraffe';
const pg = [firstName, 'park', 2022 - 2000, 'teacher', friends];
console.log(pg)

자바스크립트의 Array는 내부요소로 '서로 다른 타입의 데이터'를 함께 가질 수 있습니다. 그리고 이미 선언된 다른 변수를 array 안으로 넣을 수도 있습니다. 심지어 array를 가져올 수도 있습니다.

 

 


 

 

 

 

다음 글에서는 Array의 메소드에 대해 알아보겠습니다.

반응형

'JS > JavaScript 강의' 카테고리의 다른 글

22. Object 소개  (0) 2022.10.18
21. Array 기본 메소드 part.1 (Basic Array Operations-Methods)  (0) 2022.10.17
19. 화살표 함수 (Arrow Functions)  (1) 2022.10.13
18. 함수 (Functions)  (0) 2022.10.11
17. Strict 모드  (0) 2022.10.07