IT/HTML,CSS,JavaScript

[JavaScript] 자바스크립트 기초 복습 part5

j8970 2025. 3. 22. 15:00

JavaScript 배열 & 함수 정리


📌 배열 (Array)

배열은 여러 개의 데이터를 순차적으로 나열한 자료 구조
다양한 타입을 하나의 배열에 함께 저장 가능
크기가 고정되지 않음 (동적)
인덱스는 0부터 시작


🔹 1. 배열 생성 방식

✅ 리터럴 방식

let fruits = ['사과', '오렌지', '망고'];
let mixed = [1, '문자', true, null, [1, 2]];

✅ 생성자 방식

let arr1 = new Array(3); // 길이만 설정 (빈 값)
let arr2 = new Array('사과', '오렌지'); // 초기값 설정

🔹 2. 배열 요소 접근 & 수정

let sports = ['축구', '야구', '농구'];
console.log(sports[1]); // 야구

sports[2] = 'basketball'; // 값 수정

🔹 3. 배열 메서드

✅ 추가/삭제 메서드

메서드 설명
push() 마지막 요소 추가
pop() 마지막 요소 제거 후 반환
shift() 첫 요소 제거 후 반환
unshift() 첫 요소 앞에 추가
splice() 요소 추가 또는 삭제
let arr = [1, 2, 3];
arr.push(4);       // [1, 2, 3, 4]
arr.pop();         // [1, 2, 3]
arr.shift();       // [2, 3]
arr.unshift(0);    // [0, 2, 3]
arr.splice(1, 0, 'a'); // [0, 'a', 2, 3]

🔹 4. 배열 정렬

let items = ['banana', 'apple', 'mango'];

items.sort();   // 오름차순 정렬
items.reverse(); // 내림차순 정렬

🔹 5. 배열 변환

let fruits = ['사과', '바나나', '망고'];

fruits.join();       // "사과,바나나,망고"
fruits.join(' - ');  // "사과 - 바나나 - 망고"

let str = "사과,바나나,망고";
let arr = str.split(','); // ["사과", "바나나", "망고"]

🔹 6. 배열 복사 (참조형 VS 복사본)

✅ 일반 자료형은 값 복사

let a = 10;
let b = a;
b = 20;
console.log(a); // 10

✅ 배열은 참조(주소) 복사

let arr1 = [1, 2, 3];
let arr2 = arr1;

arr2[0] = 100;
console.log(arr1); // [100, 2, 3]

✅ 독립적인 복사: 스프레드 연산자 (...)

let original = ['축구', '야구'];
let copy = [...original];

copy[0] = '배구';
console.log(original); // 원본 유지

📌 함수 (Function)

특정 작업을 수행하거나 값을 계산하는 코드의 묶음


🔹 1. 함수의 정의

function 함수명(매개변수) {
  return 반환값;
}

🔹 2. 함수 선언 방식

✅ 함수 선언식 (호이스팅 O)

function greet() {
  console.log('안녕하세요!');
}
greet(); // 호출 가능

✅ 함수 표현식 (호이스팅 X)

const greet = function() {
  console.log('안녕하세요!');
};
greet();

✅ 화살표 함수 (호이스팅 X)

const greet = () => {
  console.log('안녕하세요!');
};
greet();

💡 매개변수 1개, 본문 1줄이면 축약 가능

const greet = name => console.log(`${name}님 반갑습니다`);
greet('전창현');

🔹 3. 함수의 구성 요소

구성 설명
parameter 함수 정의 시 받는 변수명
argument 함수 호출 시 전달하는 실제 값
return 함수 실행 결과를 반환하는 키워드
function sum(a, b) {
  return a + b;
}

let result = sum(5, 3); // 8

🔹 4. 스코프 (Scope)

구분 설명
지역 변수 함수 내부에서 선언된 변수 (밖에서는 사용 불가)
전역 변수 함수 외부에서 선언된 변수 (어디서든 사용 가능)
let username = "전창현";

function intro() {
  let job = "개발자";
  console.log(`${username}의 직업은 ${job}`);
}
intro();
// console.log(job); ❌ 오류: 지역변수

📌 요약

주제 핵심 요약
배열 다양한 데이터 저장, push/pop 등 사용
배열 복사 참조형 복사 주의! 스프레드로 독립 복사
함수 정의 선언식 / 표현식 / 화살표 함수
함수 사용 매개변수로 값 전달, return으로 반환
스코프 지역변수/전역변수 구분 중요

🚀 다음 포스팅은 함수의 심화!