카테고리 없음

[JS] 배열 알아보기

dotudy 2025. 7. 1. 22:41

배열

배열은 값을 순서대로 저장하는 객체이다. 

항목으로 이뤄진 목록만 저장할 때는 객체를 따로 만들 필요가 없고 배열을 이용하면 된다. 

const fruitBasket = ['apple', 'banana', 'watermelon']

 

배열에 관련된 다양한 메서드들이 있다.

const fruitBasket = ['apple', 'banana', 'watermelon'];

console.log(fruitBasket.length); //3

fruitBasket.push('orange');
console.log(fruitBasket); //[ 'apple', 'banana', 'watermelon', 'orange' ]

fruitBasket.unshift('pear');
console.log(fruitBasket); //[ 'pear', 'apple', 'banana', 'watermelon', 'orange' ]

fruitBasket.pop();
console.log(fruitBasket); //[ 'pear', 'apple', 'banana', 'watermelon' ]

fruitBasket.shift();
console.log(fruitBasket); //[ 'apple', 'banana', 'watermelon' ]

 

또한 typeof()를 사용해 변수가 어떤 자료형인지 확인 가능하다.

const arr = ['apple'];
console.log(typeof(arr)); //object

const str = 'hihi';
console.log(typeof(str)); //string

const num = 4;
console.log(typeof(num)); //number

const obj = {color: 'red'};
console.log(typeof(obj)); //object

console.log(typeof(null)); //object ?? why not null?
console.log(typeof(undefined)); //undefined

 

배열은 원시 자료형이 아니라 객체이다! 

 

+ null은 원시 자료형이라서 null이 떠야되는데 왜 object가 뜰까?

이는 자바스크립트의 오래된 버그이다. ㅋㅋ

자바스크립트가 처음 만들어질 때, typeof 연산자를 구현하면서 null을 객체로 잘못 분류하는 버그가 있었다. 너무 많은 코드에서 쓰이다 보니 고치면 기존 코드가 다 깨져서 지금까지도 그냥 유지되고 있다고 보면 된다.

 

따라서 정확하게 null 타입을 알아보기 위해서는 ===을 써야한다.

const value = null;
if (value === null) {
  console.log("정확히 null입니다!");
}