TIL - 20250605

juni·2025년 6월 5일

TIL

목록 보기
28/316

📘 자바스크립트 학습 정리 (0605)

✅ 스코프(Scope)

  • 전역 스코프: 코드 어디서든 접근 가능한 변수 (let x = 10)
  • 블록 스코프: {} 블록 내에서만 유효한 변수 (let, const 사용)
  • 지역 스코프: 함수 내에서 선언된 변수

📌 전역 변수는 가급적 지양해야 함

  • 변수 이름 충돌 위험
  • 수명이 너무 길어 메모리 관리 어려움
  • 스코프 체인이 길어져 디버깅 어려움

✅ 함수 선언 방식

  • 선언문 방식: function fn() {} → 호이스팅 적용 (선언 전 호출 가능)
  • 표현식 방식: const fn = function() {} → 선언 이후에만 호출 가능
  • 화살표 함수: const fn = () => {}
const add = (n1, n2) => n1 + n2;
const isEven = n => n % 2 === 0;

✅ 일급 객체로서의 함수

  • 함수를 값처럼 다룰 수 있음
    • 변수에 저장
    • 다른 함수의 인자로 전달
    • 함수에서 리턴 가능
function foo(callback) {
  callback();
}
foo(() => console.log("함수를 전달!"));

✅ 고차 함수 (콜백 기반)

  • filter 함수 구현: 조건에 맞는 요소만 배열에 담아 반환
  • map 함수 구현: 각 요소를 변형한 새 배열 반환
const result = filter(array, el => 조건);
const transformed = map(array, el => 처리결과);

✅ 실전 예시: 회원 객체 배열 활용

  • filterUser(callback): 조건에 맞는 사용자 객체만 추출
  • mapByUser(callback): 사용자 객체에서 특정 데이터만 추출
  • 지역 필터링, 취미 수 필터링, 이름 포함 여부 등 다양하게 응용

✅ 객체와 배열의 조합 활용

  • 배열 요소로 객체, 함수 등 다양한 자료형 사용 가능
  • 객체 내부에 함수(메서드)를 정의해 동작 설정 가능
const arr = [
  10, "hello", true,
  [1,2,3],
  { age: 3, name: "영희" },
  function(a, b) { return a + b; }
];

총정리

  • 스코프 개념과 함수 선언 방식 비교 이해
  • 일급 객체인 함수의 다양한 응용 (콜백, 참조 복사 등)
  • 배열/객체의 고급 활용법과 고차 함수 개념 습득

0개의 댓글