자바스크립트 배열(Arrays)

Kwangmo Yang·2022년 6월 29일
0

Front-end

목록 보기
3/7
post-thumbnail

JS에서의 배열은 무엇인가?

배열(Arrays) :
이름과 인덱스로 참조되는 정렬된 값이 집합으로 정의되는것

순서가 있는 값들의 집합
배열을 구성하는 각각의 값 -> 요소(element)
인덱스 : 배열에서 위치를 가르키는 숫자.
배열의 위치는 0번부터 시작 /배열의 첫번째 인덱스는 0)
why? : 메모리 주소가 0부터 시작해서

//ex) 
var idx = [1,2,"3"];

//만약 배열이 없다면
var idx1 = 1
var idx2 = 2
var idx3 = "3"

그래서 배열을 왜 사용하냐? 라고 물어보면
위의 예시와같이 숫자 3개에대해 변수를 선언해준다고 했을때
배열이 없다면, 변수 하나하나 노가다를 뛰며 선언을 해주어야 한다.

JS 배열만의 특징은?

어느언어나 배열은 있겠지만, JS 배열만의 특징은 무엇인지 알아보자

  • 배열 요소의 타입이 고정되어있지 않다.
    (같은 배열에 있는 요소 타입이 상이할 수 있다.)

  • 배열 요소의 인덱스가 연속적이지 않아도 된다.
    (특정 배열요소는 비어있을수 있음)

  • 자바스크립트에서 배열은 Arrays라는 객체로 다루어진다

JS에서 배열을 만드는 방법

JS에서 배열을 만드는 방법은 총 세가지가 있다.

//1. 배열 리터럴
    var arr = [요소1, 요소2.....]
//2. Arrays 객체 
    var arr = Arrays(요소1, 요소2)
//3. new
    var arr = new Array(요소1, 요소2)

위방법을 중 상황에 맞춰 배열을 생성하면 될 듯 하다.
근데 아직 나는 어떤경우에 뭘 사용해야 할지 개념은 잡혀있지 않다.

배열을 만들고 참조,속성을 활용해보기

//배열의길이가 5인 배열을 생성하였다.
var arr = [11, 20, "하위바위", 70, 90]

arr 이라는 배열을 만들고 내가 확인하고 싶은
숫자를 꺼내고 싶을땐 어떻게 하면 될까?

//첫번째 자리 11을 꺼내오고 싶은경우
console.log(arr[0]); 

//세번째 자리 "하위바위"를 꺼내오고 싶은경우
console.log(arr[2]);

//세번째 자리 "하위바위"에서 "바"라는 글자를 출력하고 싶은경우
console.log("하위바위"[2]);
위에도 말했듯이 배열 첫번째 요소의 인덱스는 1번이 아니라 
0번인 것을 꼭 기억하자

배열의 여러가지 속성을 확인해보자

//배열의 길이를 출력하는 속성 length
var arr = [11, 20, "하위바위", 70, 90];

console.log(arr.length); //결과값 : 5;
//배열에 요소를 추가하는 속성
//1. push()
arr.push("test");
//2. length 를 이용하는 방법
arr[arr.length]  ="하이하이"

//3. 특정 인덱스를 사용
arr[2] = "2번자리에 넣을거임"

// 만약 기존의 배열길이 보다 큰 인덱스를 쓴다면
// 어떻게 될까?
// ex 배열의 요소가 아래와 같을때
var arr = [11, 20, "하위바위", 70, 90];

// 30번째 자리에 "안녕" 이라는 문자를 넣는다면?
arr[30]= "안녕" //에러발생 안함

// 위의 코드의 결과는 999번째 인덱스에 문자열을 집어넣음
// -> 5~29 까지는 배열의 요소가 없는 상황
// 이처럼 배열의 요소가 없는 부분을 arrayHole이라 부름
// JS는 Arrayhole을 어떻게 취급? -> undefined로 취급

배열은 이정도로 수업을 들었다.
Java 할때 배열을 어느정도 공부해서 무슨 개념인지는 잡혔는데
배열도 다른 언어끼리의 차이점이 보여서

어? Java에서는 안됐는데 왜 JS에서는 되는거지? 라는 의문점이
많이 생겼던 하루였다.

이제 빨리 매우매우 중요한 function에 대해 공부하러 가보려 한다.😁

profile
국비교육중 22.04.26~

0개의 댓글